swh.loader.mercurial 3.6.0__tar.gz → 3.6.1__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.
Files changed (68) hide show
  1. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/.copier-answers.yml +1 -1
  2. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/.pre-commit-config.yaml +7 -7
  3. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/CODE_OF_CONDUCT.md +1 -1
  4. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/PKG-INFO +7 -5
  5. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/pyproject.toml +34 -2
  6. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/requirements-test.txt +3 -2
  7. swh_loader_mercurial-3.6.1/setup.cfg +4 -0
  8. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/loader.py +19 -13
  9. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/test_directory.py +1 -1
  10. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/test_loader.py +24 -1
  11. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh.loader.mercurial.egg-info/PKG-INFO +7 -5
  12. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh.loader.mercurial.egg-info/SOURCES.txt +0 -3
  13. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh.loader.mercurial.egg-info/requires.txt +3 -2
  14. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/tox.ini +7 -5
  15. swh_loader_mercurial-3.6.0/mypy.ini +0 -32
  16. swh_loader_mercurial-3.6.0/pytest.ini +0 -8
  17. swh_loader_mercurial-3.6.0/setup.cfg +0 -9
  18. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/.git-blame-ignore-revs +0 -0
  19. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/.gitignore +0 -0
  20. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/AUTHORS +0 -0
  21. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/CONTRIBUTORS +0 -0
  22. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/LICENSE +0 -0
  23. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/Makefile +0 -0
  24. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/README.rst +0 -0
  25. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/conftest.py +0 -0
  26. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/docs/.gitignore +0 -0
  27. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/docs/Makefile +0 -0
  28. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/docs/_static/.placeholder +0 -0
  29. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/docs/_templates/.placeholder +0 -0
  30. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/docs/conf.py +0 -0
  31. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/docs/index.rst +0 -0
  32. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/requirements-swh.txt +0 -0
  33. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/requirements.txt +0 -0
  34. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/__init__.py +0 -0
  35. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/archive_extract.py +0 -0
  36. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/converters.py +0 -0
  37. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/directory.py +0 -0
  38. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/hgutil.py +0 -0
  39. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/identify.py +0 -0
  40. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/py.typed +0 -0
  41. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tasks.py +0 -0
  42. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/__init__.py +0 -0
  43. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/conftest.py +0 -0
  44. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/anomad-d.tgz +0 -0
  45. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/build.py +0 -0
  46. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/example.json +0 -0
  47. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/example.sh +0 -0
  48. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/example.tgz +0 -0
  49. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/hello.json +0 -0
  50. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/hello.tgz +0 -0
  51. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/missing-filelog.sh +0 -0
  52. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/missing-filelog.tgz +0 -0
  53. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/multiple-heads.json +0 -0
  54. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/multiple-heads.sh +0 -0
  55. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/multiple-heads.tgz +0 -0
  56. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/the-sandbox.json +0 -0
  57. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/the-sandbox.tgz +0 -0
  58. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/transplant.json +0 -0
  59. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/data/transplant.tgz +0 -0
  60. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/loader_checker.py +0 -0
  61. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/test_converters.py +0 -0
  62. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/test_identify.py +0 -0
  63. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/test_tasks.py +0 -0
  64. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/tests/test_tasks_directory.py +0 -0
  65. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh/loader/mercurial/utils.py +0 -0
  66. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh.loader.mercurial.egg-info/dependency_links.txt +0 -0
  67. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh.loader.mercurial.egg-info/entry_points.txt +0 -0
  68. {swh_loader_mercurial-3.6.0 → swh_loader_mercurial-3.6.1}/swh.loader.mercurial.egg-info/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  # Changes here will be overwritten by Copier
2
- _commit: v0.2.0
2
+ _commit: v0.3.3
3
3
  _src_path: https://gitlab.softwareheritage.org/swh/devel/swh-py-template.git
4
4
  description: Software Heritage Mercurial Loader
5
5
  distribution_name: swh-loader-mercurial
@@ -1,33 +1,33 @@
1
1
  repos:
2
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
- rev: v4.4.0
3
+ rev: v5.0.0
4
4
  hooks:
5
5
  - id: trailing-whitespace
6
6
  - id: check-json
7
7
  - id: check-yaml
8
8
 
9
9
  - repo: https://github.com/python/black
10
- rev: 23.1.0
10
+ rev: 25.1.0
11
11
  hooks:
12
12
  - id: black
13
13
 
14
14
  - repo: https://github.com/PyCQA/isort
15
- rev: 5.12.0
15
+ rev: 6.0.0
16
16
  hooks:
17
17
  - id: isort
18
18
 
19
19
  - repo: https://github.com/pycqa/flake8
20
- rev: 6.0.0
20
+ rev: 7.1.1
21
21
  hooks:
22
22
  - id: flake8
23
- additional_dependencies: [flake8-bugbear==22.9.23]
23
+ additional_dependencies: [flake8-bugbear==24.12.12, flake8-pyproject]
24
24
 
25
25
  - repo: https://github.com/codespell-project/codespell
26
- rev: v2.2.2
26
+ rev: v2.4.1
27
27
  hooks:
28
28
  - id: codespell
29
29
  name: Check source code spelling
30
- stages: [commit]
30
+ stages: [pre-commit]
31
31
  - id: codespell
32
32
  name: Check commit message spelling
33
33
  stages: [commit-msg]
@@ -6,7 +6,7 @@ In the interest of fostering an open and welcoming environment, we as Software
6
6
  Heritage contributors and maintainers pledge to making participation in our
7
7
  project and our community a harassment-free experience for everyone, regardless
8
8
  of age, body size, disability, ethnicity, sex characteristics, gender identity
9
- and expression, level of experience, education, socio-economic status,
9
+ and expression, level of experience, education, socioeconomic status,
10
10
  nationality, personal appearance, race, religion, or sexual identity and
11
11
  orientation.
12
12
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: swh.loader.mercurial
3
- Version: 3.6.0
3
+ Version: 3.6.1
4
4
  Summary: Software Heritage Mercurial Loader
5
5
  Author-email: Software Heritage developers <swh-devel@inria.fr>
6
6
  Project-URL: Homepage, https://gitlab.softwareheritage.org/swh/devel/swh-loader-mercurial
@@ -13,7 +13,7 @@ Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
14
14
  Classifier: Operating System :: OS Independent
15
15
  Classifier: Development Status :: 4 - Beta
16
- Requires-Python: >=3.7
16
+ Requires-Python: >=3.9
17
17
  Description-Content-Type: text/x-rst
18
18
  License-File: LICENSE
19
19
  License-File: AUTHORS
@@ -36,15 +36,17 @@ Requires-Dist: swh.model>=6.13.0; extra == "testing"
36
36
  Requires-Dist: swh.storage>=2.4.1; extra == "testing"
37
37
  Requires-Dist: swh.scheduler>=0.0.39; extra == "testing"
38
38
  Requires-Dist: swh.loader.core>=5.18.1; extra == "testing"
39
+ Requires-Dist: celery-types; extra == "testing"
39
40
  Requires-Dist: pytest; extra == "testing"
40
41
  Requires-Dist: pytest-mock; extra == "testing"
41
42
  Requires-Dist: swh.core[http]>=0.0.61; extra == "testing"
42
43
  Requires-Dist: swh.loader.core[testing]>=5.18.1; extra == "testing"
43
- Requires-Dist: swh.scheduler[testing]>=0.5.0; extra == "testing"
44
- Requires-Dist: swh.storage[testing]; extra == "testing"
44
+ Requires-Dist: swh.scheduler[pytest]>=3.1.0; extra == "testing"
45
+ Requires-Dist: swh.storage[pytest]>=3.1.0; extra == "testing"
45
46
  Requires-Dist: types-click; extra == "testing"
46
47
  Requires-Dist: types-deprecated; extra == "testing"
47
48
  Requires-Dist: types-python-dateutil; extra == "testing"
49
+ Dynamic: license-file
48
50
 
49
51
  swh-loader-mercurial
50
52
  ====================
@@ -6,7 +6,7 @@ authors = [
6
6
 
7
7
  description = "Software Heritage Mercurial Loader"
8
8
  readme = {file = "README.rst", content-type = "text/x-rst"}
9
- requires-python = ">=3.7"
9
+ requires-python = ">=3.9"
10
10
  classifiers = [
11
11
  "Programming Language :: Python :: 3",
12
12
  "Intended Audience :: Developers",
@@ -47,7 +47,7 @@ build-backend = "setuptools.build_meta"
47
47
  fallback_version = "0.0.1"
48
48
 
49
49
  [tool.black]
50
- target-version = ['py37']
50
+ target-version = ['py39', 'py310', 'py311', 'py312']
51
51
 
52
52
  [tool.isort]
53
53
  multi_line_output = 3
@@ -58,3 +58,35 @@ ensure_newline_before_comments = true
58
58
  line_length = 88
59
59
  force_sort_within_sections = true
60
60
  known_first_party = ['swh']
61
+
62
+ [tool.mypy]
63
+ namespace_packages = true
64
+ warn_unused_ignores = true
65
+ explicit_package_bases = true
66
+ # ^ Needed for mypy to detect py.typed from swh packages installed
67
+ # in editable mode
68
+
69
+ plugins = []
70
+
71
+ # 3rd party libraries without stubs (yet)
72
+ [[tool.mypy.overrides]]
73
+ module = [
74
+ "mercurial.*",
75
+ "patoolib.*",
76
+ ]
77
+ ignore_missing_imports = true
78
+
79
+ [tool.flake8]
80
+ select = ["C", "E", "F", "W", "B950"]
81
+ ignore = [
82
+ "E203", # whitespaces before ':' <https://github.com/psf/black/issues/315>
83
+ "E231", # missing whitespace after ','
84
+ "E501", # line too long, use B950 warning from flake8-bugbear instead
85
+ "W503" # line break before binary operator <https://github.com/psf/black/issues/52>
86
+ ]
87
+ max-line-length = 88
88
+
89
+ [tool.pytest.ini_options]
90
+ norecursedirs = "build docs .*"
91
+ asyncio_mode = "strict"
92
+ consider_namespace_packages = true
@@ -1,9 +1,10 @@
1
+ celery-types
1
2
  pytest
2
3
  pytest-mock
3
4
  swh.core[http] >= 0.0.61
4
5
  swh.loader.core[testing] >= 5.18.1
5
- swh.scheduler[testing] >= 0.5.0
6
- swh.storage[testing]
6
+ swh.scheduler[pytest] >= 3.1.0
7
+ swh.storage[pytest] >= 3.1.0
7
8
  types-click
8
9
  types-deprecated
9
10
  types-python-dateutil
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2020-2023 The Software Heritage developers
1
+ # Copyright (C) 2020-2025 The Software Heritage developers
2
2
  # See the AUTHORS file at the top-level directory of this distribution
3
3
  # License: GNU General Public License version 3, or any later version
4
4
  # See top-level LICENSE file for more information
@@ -42,6 +42,7 @@ from swh.model.model import (
42
42
  Revision,
43
43
  RevisionType,
44
44
  Sha1Git,
45
+ SkippedContent,
45
46
  Snapshot,
46
47
  SnapshotBranch,
47
48
  SnapshotTargetType,
@@ -284,9 +285,9 @@ class HgLoader(BaseLoader):
284
285
  extid_version=EXTID_VERSION,
285
286
  ):
286
287
  extids.append(extid)
287
- self._revision_nodeid_to_sha1git[
288
- HgNodeId(extid.extid)
289
- ] = extid.target.object_id
288
+ self._revision_nodeid_to_sha1git[HgNodeId(extid.extid)] = (
289
+ extid.target.object_id
290
+ )
290
291
 
291
292
  if extids:
292
293
  # Filter out dangling extids, we need to load their target again
@@ -309,12 +310,12 @@ class HgLoader(BaseLoader):
309
310
 
310
311
  for group_ids in grouper(hgnode_ids, n=1000):
311
312
  for extid in self.storage.extid_get_from_extid(
312
- EXTID_TYPE, group_ids, version=EXTID_VERSION
313
+ EXTID_TYPE, list(group_ids), version=EXTID_VERSION
313
314
  ):
314
315
  extids.append(extid)
315
- self._revision_nodeid_to_sha1git[
316
- HgNodeId(extid.extid)
317
- ] = extid.target.object_id
316
+ self._revision_nodeid_to_sha1git[HgNodeId(extid.extid)] = (
317
+ extid.target.object_id
318
+ )
318
319
 
319
320
  if extids:
320
321
  # Filter out dangling extids, we need to load their target again
@@ -702,11 +703,16 @@ class HgLoader(BaseLoader):
702
703
  # See above use of `CorruptedRevision`
703
704
  raise CorruptedRevision(hg_nodeid)
704
705
 
705
- content = ModelContent.from_data(data)
706
-
707
- self.storage.content_add([content])
708
-
709
- sha1_git = content.sha1_git
706
+ if self.max_content_size is not None and len(data) > self.max_content_size:
707
+ skipped_content = SkippedContent.from_data(
708
+ data, reason="Content too large"
709
+ )
710
+ self.storage.skipped_content_add([skipped_content])
711
+ sha1_git = skipped_content.sha1_git
712
+ else:
713
+ content = ModelContent.from_data(data)
714
+ self.storage.content_add([content])
715
+ sha1_git = content.sha1_git
710
716
  self._content_hash_cache[cache_key] = sha1_git
711
717
 
712
718
  # Here we make sure to return only necessary data.
@@ -166,7 +166,7 @@ def test_hg_directory_loader_hash_mismatch(swh_storage, datadir, tmp_path):
166
166
  actual_result = loader.load()
167
167
 
168
168
  # Ingestion fails because the hash checksums check failed
169
- assert actual_result == {"status": "failed"}
169
+ assert actual_result["status"] == "failed"
170
170
  assert_last_visit_matches(
171
171
  swh_storage,
172
172
  repo_url,
@@ -1,7 +1,8 @@
1
- # Copyright (C) 2020-2021 The Software Heritage developers
1
+ # Copyright (C) 2020-2025 The Software Heritage developers
2
2
  # See the AUTHORS file at the top-level directory of this distribution
3
3
  # License: GNU General Public License version 3, or any later version
4
4
  # See top-level LICENSE file for more information
5
+
5
6
  from datetime import datetime
6
7
  from hashlib import sha1
7
8
  import os
@@ -764,3 +765,25 @@ def test_loader_not_found_hg_repository(swh_storage, datadir, tmp_path):
764
765
  status="not_found",
765
766
  type="hg",
766
767
  )
768
+
769
+
770
+ def test_loader_max_content_size(swh_storage, datadir, tmp_path):
771
+ """Contents whose size is greater than 1 byte should be skipped."""
772
+ archive_name = "example"
773
+ archive_path = os.path.join(datadir, f"{archive_name}.tgz")
774
+ repo_url = prepare_repository_from_archive(archive_path, archive_name, tmp_path)
775
+ repo_path = repo_url.replace("file://", "")
776
+
777
+ loader = HgLoader(swh_storage, repo_path, max_content_size=1)
778
+
779
+ assert loader.load() == {"status": "eventful"}
780
+ assert get_stats(loader.storage) == {
781
+ "content": 0,
782
+ "directory": 16,
783
+ "origin": 1,
784
+ "origin_visit": 1,
785
+ "release": 0,
786
+ "revision": 9,
787
+ "skipped_content": 7,
788
+ "snapshot": 1,
789
+ }
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: swh.loader.mercurial
3
- Version: 3.6.0
3
+ Version: 3.6.1
4
4
  Summary: Software Heritage Mercurial Loader
5
5
  Author-email: Software Heritage developers <swh-devel@inria.fr>
6
6
  Project-URL: Homepage, https://gitlab.softwareheritage.org/swh/devel/swh-loader-mercurial
@@ -13,7 +13,7 @@ Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
14
14
  Classifier: Operating System :: OS Independent
15
15
  Classifier: Development Status :: 4 - Beta
16
- Requires-Python: >=3.7
16
+ Requires-Python: >=3.9
17
17
  Description-Content-Type: text/x-rst
18
18
  License-File: LICENSE
19
19
  License-File: AUTHORS
@@ -36,15 +36,17 @@ Requires-Dist: swh.model>=6.13.0; extra == "testing"
36
36
  Requires-Dist: swh.storage>=2.4.1; extra == "testing"
37
37
  Requires-Dist: swh.scheduler>=0.0.39; extra == "testing"
38
38
  Requires-Dist: swh.loader.core>=5.18.1; extra == "testing"
39
+ Requires-Dist: celery-types; extra == "testing"
39
40
  Requires-Dist: pytest; extra == "testing"
40
41
  Requires-Dist: pytest-mock; extra == "testing"
41
42
  Requires-Dist: swh.core[http]>=0.0.61; extra == "testing"
42
43
  Requires-Dist: swh.loader.core[testing]>=5.18.1; extra == "testing"
43
- Requires-Dist: swh.scheduler[testing]>=0.5.0; extra == "testing"
44
- Requires-Dist: swh.storage[testing]; extra == "testing"
44
+ Requires-Dist: swh.scheduler[pytest]>=3.1.0; extra == "testing"
45
+ Requires-Dist: swh.storage[pytest]>=3.1.0; extra == "testing"
45
46
  Requires-Dist: types-click; extra == "testing"
46
47
  Requires-Dist: types-deprecated; extra == "testing"
47
48
  Requires-Dist: types-python-dateutil; extra == "testing"
49
+ Dynamic: license-file
48
50
 
49
51
  swh-loader-mercurial
50
52
  ====================
@@ -9,13 +9,10 @@ LICENSE
9
9
  Makefile
10
10
  README.rst
11
11
  conftest.py
12
- mypy.ini
13
12
  pyproject.toml
14
- pytest.ini
15
13
  requirements-swh.txt
16
14
  requirements-test.txt
17
15
  requirements.txt
18
- setup.cfg
19
16
  tox.ini
20
17
  docs/.gitignore
21
18
  docs/Makefile
@@ -18,12 +18,13 @@ swh.model>=6.13.0
18
18
  swh.storage>=2.4.1
19
19
  swh.scheduler>=0.0.39
20
20
  swh.loader.core>=5.18.1
21
+ celery-types
21
22
  pytest
22
23
  pytest-mock
23
24
  swh.core[http]>=0.0.61
24
25
  swh.loader.core[testing]>=5.18.1
25
- swh.scheduler[testing]>=0.5.0
26
- swh.storage[testing]
26
+ swh.scheduler[pytest]>=3.1.0
27
+ swh.storage[pytest]>=3.1.0
27
28
  types-click
28
29
  types-deprecated
29
30
  types-python-dateutil
@@ -24,16 +24,18 @@ commands =
24
24
  [testenv:black]
25
25
  skip_install = true
26
26
  deps =
27
- black==23.1.0
27
+ black==25.1.0
28
28
  commands =
29
29
  {envpython} -m black --check swh
30
30
 
31
31
  [testenv:flake8]
32
32
  skip_install = true
33
33
  deps =
34
- flake8==5.0.4
35
- flake8-bugbear==22.9.23
36
- pycodestyle==2.9.1
34
+ flake8==7.1.1
35
+ flake8-bugbear==24.12.12
36
+ flake8-pyproject==1.2.3
37
+ pycodestyle==2.12.1
38
+
37
39
  commands =
38
40
  {envpython} -m flake8
39
41
 
@@ -41,7 +43,7 @@ commands =
41
43
  extras =
42
44
  testing
43
45
  deps =
44
- mypy==1.8.0
46
+ mypy==1.15.0
45
47
  commands =
46
48
  mypy swh
47
49
 
@@ -1,32 +0,0 @@
1
- [mypy]
2
- namespace_packages = True
3
- warn_unused_ignores = True
4
- explicit_package_bases = True
5
- # ^ Needed for mypy to detect py.typed from swh packages installed
6
- # in editable mode
7
-
8
- # 3rd party libraries without stubs (yet)
9
-
10
- [mypy-celery.*]
11
- ignore_missing_imports = True
12
-
13
- [mypy-hglib.*]
14
- ignore_missing_imports = True
15
-
16
- [mypy-mercurial.*]
17
- ignore_missing_imports = True
18
-
19
- [mypy-pkg_resources.*]
20
- ignore_missing_imports = True
21
-
22
- [mypy-patoolib.*]
23
- ignore_missing_imports = True
24
-
25
- [mypy-pytest.*]
26
- ignore_missing_imports = True
27
-
28
- [mypy-sqlitedict.*]
29
- ignore_missing_imports = True
30
-
31
- [mypy-swh.loader.*]
32
- ignore_missing_imports = True
@@ -1,8 +0,0 @@
1
- [pytest]
2
- norecursedirs = build docs .*
3
- asyncio_mode = strict
4
- addopts =
5
- # Drop this when these fixtures aren't imported automatically anymore
6
- -p no:pytest_swh_scheduler
7
- -p no:pytest_swh_storage
8
- consider_namespace_packages = true
@@ -1,9 +0,0 @@
1
- [flake8]
2
- select = C,E,F,W,B950
3
- ignore = E203,E231,E501,W503
4
- max-line-length = 88
5
-
6
- [egg_info]
7
- tag_build =
8
- tag_date = 0
9
-