rust-crate-pipeline 1.4.1__py3-none-any.whl → 1.4.2__py3-none-any.whl
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.
- rust_crate_pipeline/main.py +2 -2
- rust_crate_pipeline/pipeline.py +21 -4
- rust_crate_pipeline/version.py +4 -1
- {rust_crate_pipeline-1.4.1.dist-info → rust_crate_pipeline-1.4.2.dist-info}/METADATA +1 -1
- {rust_crate_pipeline-1.4.1.dist-info → rust_crate_pipeline-1.4.2.dist-info}/RECORD +9 -9
- {rust_crate_pipeline-1.4.1.dist-info → rust_crate_pipeline-1.4.2.dist-info}/WHEEL +0 -0
- {rust_crate_pipeline-1.4.1.dist-info → rust_crate_pipeline-1.4.2.dist-info}/entry_points.txt +0 -0
- {rust_crate_pipeline-1.4.1.dist-info → rust_crate_pipeline-1.4.2.dist-info}/licenses/LICENSE +0 -0
- {rust_crate_pipeline-1.4.1.dist-info → rust_crate_pipeline-1.4.2.dist-info}/top_level.txt +0 -0
rust_crate_pipeline/main.py
CHANGED
@@ -468,7 +468,7 @@ def main() -> None:
|
|
468
468
|
logging.info("Falling back to standard pipeline")
|
469
469
|
|
470
470
|
logging.debug("Creating standard pipeline as Sigil fallback")
|
471
|
-
standard_pipeline = CrateDataPipeline(config)
|
471
|
+
standard_pipeline = CrateDataPipeline(config, **pipeline_kwargs)
|
472
472
|
logging.debug("Standard pipeline created, about to run asynchronously")
|
473
473
|
|
474
474
|
# Run standard pipeline (asynchronous)
|
@@ -487,7 +487,7 @@ def main() -> None:
|
|
487
487
|
else:
|
488
488
|
logging.info("Standard pipeline mode")
|
489
489
|
logging.debug("Creating standard pipeline")
|
490
|
-
standard_pipeline = CrateDataPipeline(config)
|
490
|
+
standard_pipeline = CrateDataPipeline(config, **pipeline_kwargs)
|
491
491
|
logging.info(f"Starting pipeline with {len(vars(args))} arguments")
|
492
492
|
logging.debug("Standard pipeline created, about to run asynchronously")
|
493
493
|
|
rust_crate_pipeline/pipeline.py
CHANGED
@@ -34,10 +34,21 @@ except ImportError:
|
|
34
34
|
logging.warning("Enhanced scraping not available - using basic methods")
|
35
35
|
|
36
36
|
|
37
|
+
class CustomJSONEncoder(json.JSONEncoder):
|
38
|
+
"""Custom JSON encoder to handle non-serializable objects"""
|
39
|
+
def default(self, obj):
|
40
|
+
if hasattr(obj, 'to_dict'):
|
41
|
+
return obj.to_dict()
|
42
|
+
elif hasattr(obj, '__dict__'):
|
43
|
+
return obj.__dict__
|
44
|
+
else:
|
45
|
+
return str(obj)
|
46
|
+
|
47
|
+
|
37
48
|
class CrateDataPipeline:
|
38
49
|
"""Orchestrates the entire data collection, enrichment, and analysis pipeline."""
|
39
50
|
|
40
|
-
def __init__(self, config: PipelineConfig) -> None:
|
51
|
+
def __init__(self, config: PipelineConfig, crate_list: "List[str] | None" = None, **kwargs) -> None:
|
41
52
|
self.config = config
|
42
53
|
self.api_client = CrateAPIClient(config)
|
43
54
|
self.github_client = GitHubBatchClient(config)
|
@@ -60,7 +71,13 @@ class CrateDataPipeline:
|
|
60
71
|
# Initialize cargo analyzer
|
61
72
|
self.cargo_analyzer = CrateAnalyzer(".")
|
62
73
|
|
63
|
-
|
74
|
+
# Use provided crate_list or load from file
|
75
|
+
if crate_list:
|
76
|
+
self.crates = crate_list
|
77
|
+
logging.info(f"Using provided crate list: {len(crate_list)} crates")
|
78
|
+
else:
|
79
|
+
self.crates = self._get_crate_list()
|
80
|
+
|
64
81
|
self.output_dir = self._create_output_dir()
|
65
82
|
self.enhanced_scraper: Any = (
|
66
83
|
self._initialize_enhanced_scraper()
|
@@ -280,7 +297,7 @@ class CrateDataPipeline:
|
|
280
297
|
|
281
298
|
with open(filename, "w") as f:
|
282
299
|
for item in data:
|
283
|
-
f.write(json.dumps(item.to_dict()) + "\n")
|
300
|
+
f.write(json.dumps(item.to_dict(), cls=CustomJSONEncoder) + "\n")
|
284
301
|
|
285
302
|
logging.info(f"Saved checkpoint to {filename}")
|
286
303
|
return filename
|
@@ -297,7 +314,7 @@ class CrateDataPipeline:
|
|
297
314
|
)
|
298
315
|
with open(final_output_path, "w") as f:
|
299
316
|
for item in data:
|
300
|
-
f.write(json.dumps(item.to_dict()) + "\n")
|
317
|
+
f.write(json.dumps(item.to_dict(), cls=CustomJSONEncoder) + "\n")
|
301
318
|
|
302
319
|
# Save dependency analysis
|
303
320
|
dep_file_path = os.path.join(
|
rust_crate_pipeline/version.py
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
from typing import Dict, List, Tuple, Optional, Any
|
2
2
|
"""Version information for rust-crate-pipeline."""
|
3
3
|
|
4
|
-
__version__ = "1.4.
|
4
|
+
__version__ = "1.4.2"
|
5
5
|
__version_info__ = tuple(int(x) for x in __version__.split("-")[0].split("."))
|
6
6
|
__author__ = "SigilDERG Team"
|
7
7
|
__email__ = "sigilderg@example.com"
|
8
8
|
|
9
9
|
# Version history
|
10
|
+
# 1.4.2 - Maintenance Release
|
11
|
+
# - Updated project to version 1.4.2
|
12
|
+
# - General maintenance and dependency updates
|
10
13
|
# 1.2.5-dev.20250621 - Dev branch: experimental, not a formal
|
11
14
|
# release. Originated from v1.2.5.
|
12
15
|
# 1.2.5 - Last official release.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: rust-crate-pipeline
|
3
|
-
Version: 1.4.
|
3
|
+
Version: 1.4.2
|
4
4
|
Summary: A comprehensive pipeline for analyzing Rust crates with AI enrichment and enhanced scraping
|
5
5
|
Home-page: https://github.com/SigilDERG/rust-crate-pipeline
|
6
6
|
Author: SigilDERG Team
|
@@ -7,14 +7,14 @@ rust_crate_pipeline/config.py,sha256=Fw3fRKCZawKaLQi7YqsmNNku4whZi89mWzr8BVRNS5E
|
|
7
7
|
rust_crate_pipeline/crate_analysis.py,sha256=GsoXemJ9VFyAbb4Sm5gY5ToTqNtOA4pI38AtngAQONk,2090
|
8
8
|
rust_crate_pipeline/crate_list.txt,sha256=W3NxDtxvihyKp9SN85FYXX6p8Hh49IFih1M4-c-CynM,4334
|
9
9
|
rust_crate_pipeline/github_token_checker.py,sha256=0IpTh78DSaw4znaed031cSVSZDsi92eDManPzRIIN3Y,3670
|
10
|
-
rust_crate_pipeline/main.py,sha256=
|
10
|
+
rust_crate_pipeline/main.py,sha256=Dh-ZNFJvnuU8qawTbfT68cPUbErWOhjMWZxWsc4AH3E,18896
|
11
11
|
rust_crate_pipeline/network.py,sha256=mWjiRvOX31piBZ2QiJ-F75DBD4l6cqzTXcQdJvHxe90,12718
|
12
|
-
rust_crate_pipeline/pipeline.py,sha256=
|
12
|
+
rust_crate_pipeline/pipeline.py,sha256=daiC3GimbM5FJK3BuVt4TSf5C6i-_sAkmUqYo0FMdv8,16855
|
13
13
|
rust_crate_pipeline/production_config.py,sha256=uWylP9AIZZx7-9aT4sFmAKEEW9miJDxaiek8VE6WP-0,2372
|
14
14
|
rust_crate_pipeline/progress_monitor.py,sha256=5K9KP-Xggi1JEINfRmq2W-wGUHtNIBTcocpDtB1t8iM,13743
|
15
15
|
rust_crate_pipeline/unified_llm_processor.py,sha256=eo7KotNuqwc7_hgpFm18QLokFoufFslnvi8TnDsSYEg,25064
|
16
16
|
rust_crate_pipeline/unified_pipeline.py,sha256=2yglmXVlQfSkVq0HVTPonDee6VxWaQWZw0X2l4lLBGw,23704
|
17
|
-
rust_crate_pipeline/version.py,sha256=
|
17
|
+
rust_crate_pipeline/version.py,sha256=22bKSUCFGD1KWTGmUBAw6tp4jwaVet8z2BK7UhPtdqE,4611
|
18
18
|
rust_crate_pipeline/core/__init__.py,sha256=Sq4HWdANGqoYln7JdCog7m3BsGeR3tHdseeflvNetoQ,509
|
19
19
|
rust_crate_pipeline/core/canon_registry.py,sha256=_3cu0akJvLc7ZnomMaLeMa8adOBYn1dtjpB0yE3vGL8,4700
|
20
20
|
rust_crate_pipeline/core/irl_engine.py,sha256=QRZUdkN24W9XutLkj8JDplEz6FmnquUrwKsl0s2zRr4,10491
|
@@ -23,9 +23,9 @@ rust_crate_pipeline/scraping/__init__.py,sha256=ySkTRg7nIxgcbHJQ3L1XzcrOo281NZu0
|
|
23
23
|
rust_crate_pipeline/scraping/unified_scraper.py,sha256=ZE2gkc0vQ3BOLdSX_IV-kMe8QAm2Av4M7VqpkxEKyT4,9965
|
24
24
|
rust_crate_pipeline/utils/file_utils.py,sha256=tMaCPy7ghs9x4Hxu_sviX8MXU2sBjNvohUrvt4MejoM,2853
|
25
25
|
rust_crate_pipeline/utils/logging_utils.py,sha256=e5jG0Yd6k3exgAdbVca46kWADJ_Qz8UJ3yEJzwTqPyI,2452
|
26
|
-
rust_crate_pipeline-1.4.
|
27
|
-
rust_crate_pipeline-1.4.
|
28
|
-
rust_crate_pipeline-1.4.
|
29
|
-
rust_crate_pipeline-1.4.
|
30
|
-
rust_crate_pipeline-1.4.
|
31
|
-
rust_crate_pipeline-1.4.
|
26
|
+
rust_crate_pipeline-1.4.2.dist-info/licenses/LICENSE,sha256=tpd4XNpbssrSx9-iErATOLrOh0ivNPfO2I5MAPUpats,1088
|
27
|
+
rust_crate_pipeline-1.4.2.dist-info/METADATA,sha256=1gnViQw0U2JkgbGieFQaV6OEK6sbNKAykivgwaZ_DAo,17605
|
28
|
+
rust_crate_pipeline-1.4.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
29
|
+
rust_crate_pipeline-1.4.2.dist-info/entry_points.txt,sha256=9Rr_IRuFRIridXxUSdEJbB3ba0NnpEfKmknZXFdYRC0,70
|
30
|
+
rust_crate_pipeline-1.4.2.dist-info/top_level.txt,sha256=GUdB7RyxHLhijQxui_KTy3B8p_L2APui9C6RYa0FuaE,20
|
31
|
+
rust_crate_pipeline-1.4.2.dist-info/RECORD,,
|
File without changes
|
{rust_crate_pipeline-1.4.1.dist-info → rust_crate_pipeline-1.4.2.dist-info}/entry_points.txt
RENAMED
File without changes
|
{rust_crate_pipeline-1.4.1.dist-info → rust_crate_pipeline-1.4.2.dist-info}/licenses/LICENSE
RENAMED
File without changes
|
File without changes
|