rust-crate-pipeline 1.3.6__tar.gz → 1.4.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.
- rust_crate_pipeline-1.4.1/CHANGELOG_v1.4.0.md +21 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/PKG-INFO +61 -2
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/README.md +60 -1
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/README_LLM_PROVIDERS.md +9 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/pyproject.toml +1 -1
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/ai_processing.py +718 -598
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/azure_ai_processing.py +461 -452
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/core/canon_registry.py +2 -2
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/github_token_checker.py +108 -108
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/version.py +1 -1
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline.egg-info/PKG-INFO +61 -2
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline.egg-info/SOURCES.txt +5 -15
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/setup.py +1 -1
- rust_crate_pipeline-1.4.1/tests/test_analysis.py +382 -0
- rust_crate_pipeline-1.4.1/tests/test_config.py +187 -0
- rust_crate_pipeline-1.4.1/tests/test_core_modules.py +352 -0
- rust_crate_pipeline-1.4.1/tests/test_github_token_checker.py +188 -0
- rust_crate_pipeline-1.3.6/tests/test_build.py +0 -59
- rust_crate_pipeline-1.3.6/tests/test_config_coverage.py +0 -59
- rust_crate_pipeline-1.3.6/tests/test_crawl4ai_basic.py +0 -69
- rust_crate_pipeline-1.3.6/tests/test_crawl4ai_demo.py +0 -162
- rust_crate_pipeline-1.3.6/tests/test_crawl4ai_integration.py +0 -207
- rust_crate_pipeline-1.3.6/tests/test_crawl4ai_integration_fixed.py +0 -195
- rust_crate_pipeline-1.3.6/tests/test_github_token_checker_coverage.py +0 -300
- rust_crate_pipeline-1.3.6/tests/test_logging.py +0 -62
- rust_crate_pipeline-1.3.6/tests/test_main_integration.py +0 -205
- rust_crate_pipeline-1.3.6/tests/test_main_module_coverage.py +0 -52
- rust_crate_pipeline-1.3.6/tests/test_optimization_validation.py +0 -198
- rust_crate_pipeline-1.3.6/tests/test_rule_zero_lookup.py +0 -80
- rust_crate_pipeline-1.3.6/tests/test_rust_analyzer_coverage.py +0 -40
- rust_crate_pipeline-1.3.6/tests/test_sigil_unified.py +0 -448
- rust_crate_pipeline-1.3.6/tests/test_thread_free.py +0 -225
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/.aider.chat.history.md +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/CHANGELOG_v1.3.0.txt +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/CHANGELOG_v1.3.1.md +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/CHANGELOG_v1.3.2.md +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/CHANGELOG_v1.3.3.md +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/CHANGELOG_v1.3.4.md +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/CHANGELOG_v1.3.5.md +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/CHANGELOG_v1.3.6.md +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/CRAWL4AI_TYPE_ANALYSIS.md +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/LICENSE +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/MANIFEST.in +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/requirements-crawl4ai.txt +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/requirements-dev.txt +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/requirements.txt +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/__init__.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/__main__.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/analysis.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/config.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/core/__init__.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/core/irl_engine.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/core/sacred_chain.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/crate_analysis.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/crate_list.txt +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/main.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/network.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/pipeline.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/production_config.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/progress_monitor.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/scraping/__init__.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/scraping/unified_scraper.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/unified_llm_processor.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/unified_pipeline.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/utils/file_utils.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline/utils/logging_utils.py +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline.egg-info/dependency_links.txt +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline.egg-info/entry_points.txt +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline.egg-info/not-zip-safe +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline.egg-info/requires.txt +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/rust_crate_pipeline.egg-info/top_level.txt +0 -0
- {rust_crate_pipeline-1.3.6 → rust_crate_pipeline-1.4.1}/setup.cfg +0 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
# Changelog v1.4.0
|
2
|
+
|
3
|
+
## [1.4.0] - 2025-06-28
|
4
|
+
|
5
|
+
### Added
|
6
|
+
- Robust Ed25519 and RSA cryptographic signing for RAG database
|
7
|
+
- Automated provenance and signature validation workflows
|
8
|
+
- GitHub Actions for signature/hash validation and RAG auto-update
|
9
|
+
- Docker image and compose updates for new version
|
10
|
+
|
11
|
+
### Fixed
|
12
|
+
- Signature validation for Ed25519 keys in both scripts and CI
|
13
|
+
- Public key tracking in git, private key protection
|
14
|
+
- Workflow reliability for PyPI and Docker builds
|
15
|
+
|
16
|
+
### Changed
|
17
|
+
- Version bump to 1.4.0 (minor release)
|
18
|
+
- All version references updated
|
19
|
+
- RAG and provenance now reflect new version
|
20
|
+
|
21
|
+
---
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: rust-crate-pipeline
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.4.1
|
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
|
@@ -386,6 +386,13 @@ docker run -it -v $(pwd):/app rust-crate-pipeline
|
|
386
386
|
|
387
387
|
## Recent Improvements
|
388
388
|
|
389
|
+
### Version 1.4.0
|
390
|
+
- **Security**: Robust Ed25519/RSA cryptographic signing and provenance
|
391
|
+
- **Automation**: Automated RAG and provenance workflows
|
392
|
+
- **CI/CD**: Improved GitHub Actions for validation and publishing
|
393
|
+
- **Docker**: Updated Docker image and compose for new version
|
394
|
+
- **Bug Fixes**: Workflow and validation fixes for Ed25519
|
395
|
+
|
389
396
|
### Version 1.3.6
|
390
397
|
- **Python 3.12+ Requirement**: Updated to use modern type annotations and language features
|
391
398
|
- **Type Safety**: Enhanced type annotations throughout the codebase with modern syntax
|
@@ -453,4 +460,56 @@ Or, text attribution:
|
|
453
460
|
|
454
461
|
```
|
455
462
|
This project uses Crawl4AI (https://github.com/unclecode/crawl4ai) for web data extraction.
|
456
|
-
```
|
463
|
+
```
|
464
|
+
|
465
|
+
## 🚀 Unified, Cross-Platform, Multi-Provider LLM Support
|
466
|
+
|
467
|
+
This project supports **all major LLM providers** (cloud and local) on **Mac, Linux, and Windows** using a single, unified interface. All LLM calls are routed through the `UnifiedLLMProcessor` and `LLMConfig` abstractions, ensuring:
|
468
|
+
|
469
|
+
- **One code path for all providers:** Azure OpenAI, OpenAI, Anthropic, Google, Cohere, HuggingFace, Ollama, LM Studio, and any OpenAI-compatible endpoint.
|
470
|
+
- **Cross-platform compatibility:** Works out of the box on Mac, Linux, and Windows.
|
471
|
+
- **Configurable via CLI and config files:** Select provider, model, API key, endpoint, and provider-specific options at runtime.
|
472
|
+
- **Easy extensibility:** Add new providers by updating your config or CLI arguments—no code changes needed.
|
473
|
+
|
474
|
+
### 📖 Provider Setup & Usage
|
475
|
+
- See [`README_LLM_PROVIDERS.md`](./README_LLM_PROVIDERS.md) for full details, setup instructions, and usage examples for every supported provider.
|
476
|
+
- Run `python run_pipeline_with_llm.py --help` for CLI options and provider-specific arguments.
|
477
|
+
|
478
|
+
### 🧩 Example Usage
|
479
|
+
```bash
|
480
|
+
# Azure OpenAI
|
481
|
+
python run_pipeline_with_llm.py --llm-provider azure --llm-model gpt-4o --crates tokio
|
482
|
+
|
483
|
+
# Ollama (local)
|
484
|
+
python run_pipeline_with_llm.py --llm-provider ollama --llm-model llama2 --crates serde
|
485
|
+
|
486
|
+
# OpenAI API
|
487
|
+
python run_pipeline_with_llm.py --llm-provider openai --llm-model gpt-4 --llm-api-key YOUR_KEY --crates tokio
|
488
|
+
|
489
|
+
# Anthropic Claude
|
490
|
+
python run_pipeline_with_llm.py --llm-provider anthropic --llm-model claude-3-sonnet --llm-api-key YOUR_KEY --crates serde
|
491
|
+
```
|
492
|
+
|
493
|
+
### 🔒 Security & Best Practices
|
494
|
+
- Store API keys as environment variables.
|
495
|
+
- Use local providers (Ollama, LM Studio) for full privacy—no data leaves your machine.
|
496
|
+
- All LLM calls are routed through a single, auditable interface for maximum maintainability and security.
|
497
|
+
|
498
|
+
### 🧪 Testing
|
499
|
+
- Run `python test_unified_llm.py` to verify provider support and configuration.
|
500
|
+
|
501
|
+
For more, see [`README_LLM_PROVIDERS.md`](./README_LLM_PROVIDERS.md) and the CLI help output.
|
502
|
+
|
503
|
+
## Public RAG Database Hash Verification
|
504
|
+
|
505
|
+
The canonical hash of the RAG SQLite database (`sigil_rag_cache.db`) is stored in the public file `sigil_rag_cache.hash`.
|
506
|
+
|
507
|
+
- **Purpose:** Anyone can verify the integrity of the RAG database by comparing its SHA256 hash to the value in `sigil_rag_cache.hash`.
|
508
|
+
- **How to verify:**
|
509
|
+
|
510
|
+
```sh
|
511
|
+
python audits/validate_db_hash.py --db sigil_rag_cache.db --expected-hash "$(cat sigil_rag_cache.hash)"
|
512
|
+
```
|
513
|
+
|
514
|
+
- **CI/CD:** The GitHub Actions workflow `.github/workflows/validate-db-hash.yml` automatically checks this on every push.
|
515
|
+
- **No secrets required:** The hash is public and verifiable by anyone.
|
@@ -339,6 +339,13 @@ docker run -it -v $(pwd):/app rust-crate-pipeline
|
|
339
339
|
|
340
340
|
## Recent Improvements
|
341
341
|
|
342
|
+
### Version 1.4.0
|
343
|
+
- **Security**: Robust Ed25519/RSA cryptographic signing and provenance
|
344
|
+
- **Automation**: Automated RAG and provenance workflows
|
345
|
+
- **CI/CD**: Improved GitHub Actions for validation and publishing
|
346
|
+
- **Docker**: Updated Docker image and compose for new version
|
347
|
+
- **Bug Fixes**: Workflow and validation fixes for Ed25519
|
348
|
+
|
342
349
|
### Version 1.3.6
|
343
350
|
- **Python 3.12+ Requirement**: Updated to use modern type annotations and language features
|
344
351
|
- **Type Safety**: Enhanced type annotations throughout the codebase with modern syntax
|
@@ -406,4 +413,56 @@ Or, text attribution:
|
|
406
413
|
|
407
414
|
```
|
408
415
|
This project uses Crawl4AI (https://github.com/unclecode/crawl4ai) for web data extraction.
|
409
|
-
```
|
416
|
+
```
|
417
|
+
|
418
|
+
## 🚀 Unified, Cross-Platform, Multi-Provider LLM Support
|
419
|
+
|
420
|
+
This project supports **all major LLM providers** (cloud and local) on **Mac, Linux, and Windows** using a single, unified interface. All LLM calls are routed through the `UnifiedLLMProcessor` and `LLMConfig` abstractions, ensuring:
|
421
|
+
|
422
|
+
- **One code path for all providers:** Azure OpenAI, OpenAI, Anthropic, Google, Cohere, HuggingFace, Ollama, LM Studio, and any OpenAI-compatible endpoint.
|
423
|
+
- **Cross-platform compatibility:** Works out of the box on Mac, Linux, and Windows.
|
424
|
+
- **Configurable via CLI and config files:** Select provider, model, API key, endpoint, and provider-specific options at runtime.
|
425
|
+
- **Easy extensibility:** Add new providers by updating your config or CLI arguments—no code changes needed.
|
426
|
+
|
427
|
+
### 📖 Provider Setup & Usage
|
428
|
+
- See [`README_LLM_PROVIDERS.md`](./README_LLM_PROVIDERS.md) for full details, setup instructions, and usage examples for every supported provider.
|
429
|
+
- Run `python run_pipeline_with_llm.py --help` for CLI options and provider-specific arguments.
|
430
|
+
|
431
|
+
### 🧩 Example Usage
|
432
|
+
```bash
|
433
|
+
# Azure OpenAI
|
434
|
+
python run_pipeline_with_llm.py --llm-provider azure --llm-model gpt-4o --crates tokio
|
435
|
+
|
436
|
+
# Ollama (local)
|
437
|
+
python run_pipeline_with_llm.py --llm-provider ollama --llm-model llama2 --crates serde
|
438
|
+
|
439
|
+
# OpenAI API
|
440
|
+
python run_pipeline_with_llm.py --llm-provider openai --llm-model gpt-4 --llm-api-key YOUR_KEY --crates tokio
|
441
|
+
|
442
|
+
# Anthropic Claude
|
443
|
+
python run_pipeline_with_llm.py --llm-provider anthropic --llm-model claude-3-sonnet --llm-api-key YOUR_KEY --crates serde
|
444
|
+
```
|
445
|
+
|
446
|
+
### 🔒 Security & Best Practices
|
447
|
+
- Store API keys as environment variables.
|
448
|
+
- Use local providers (Ollama, LM Studio) for full privacy—no data leaves your machine.
|
449
|
+
- All LLM calls are routed through a single, auditable interface for maximum maintainability and security.
|
450
|
+
|
451
|
+
### 🧪 Testing
|
452
|
+
- Run `python test_unified_llm.py` to verify provider support and configuration.
|
453
|
+
|
454
|
+
For more, see [`README_LLM_PROVIDERS.md`](./README_LLM_PROVIDERS.md) and the CLI help output.
|
455
|
+
|
456
|
+
## Public RAG Database Hash Verification
|
457
|
+
|
458
|
+
The canonical hash of the RAG SQLite database (`sigil_rag_cache.db`) is stored in the public file `sigil_rag_cache.hash`.
|
459
|
+
|
460
|
+
- **Purpose:** Anyone can verify the integrity of the RAG database by comparing its SHA256 hash to the value in `sigil_rag_cache.hash`.
|
461
|
+
- **How to verify:**
|
462
|
+
|
463
|
+
```sh
|
464
|
+
python audits/validate_db_hash.py --db sigil_rag_cache.db --expected-hash "$(cat sigil_rag_cache.hash)"
|
465
|
+
```
|
466
|
+
|
467
|
+
- **CI/CD:** The GitHub Actions workflow `.github/workflows/validate-db-hash.yml` automatically checks this on every push.
|
468
|
+
- **No secrets required:** The hash is public and verifiable by anyone.
|
@@ -1,3 +1,12 @@
|
|
1
|
+
> **All LLM usage in this project is unified and cross-platform.**
|
2
|
+
>
|
3
|
+
> - All LLM calls are routed through the `UnifiedLLMProcessor` and `LLMConfig` abstractions.
|
4
|
+
> - This ensures support for all major providers (cloud and local) on Mac, Linux, and Windows.
|
5
|
+
> - **All new LLM features must use this pattern.**
|
6
|
+
> - The project is future-proof: as [LiteLLM](https://github.com/BerriAI/litellm) adds new providers, you can use them immediately by updating your config/CLI—no code changes needed.
|
7
|
+
|
8
|
+
---
|
9
|
+
|
1
10
|
# Unified LLM Provider Support for Rust Crate Pipeline
|
2
11
|
|
3
12
|
This document describes the comprehensive LLM provider support in the Rust Crate Pipeline, allowing you to use any LiteLLM-compatible provider for AI-powered crate analysis.
|