Expand description
ToRSh Package - Model packaging and distribution
This module provides functionality similar to torch.package for creating self-contained model packages that include code, weights, and dependencies.
§Features
- Package Creation: Create self-contained model packages with the
Packagestruct - Builder Pattern: Use
PackageBuilderfor convenient package creation - Import/Export: Load and save packages with
PackageImporterandPackageExporter - Resource Management: Manage different types of resources with
Resource - Version Management: Handle semantic versioning with
PackageVersion
§Quick Start
use torsh_package::{Package, PackageBuilder};
// Create a package using the builder pattern
let package = PackageBuilder::new("my-model".to_string(), "1.0.0".to_string())
.author("Your Name".to_string())
.description("My awesome model".to_string())
.add_dependency("torch", "2.0")
.package();
// Or create directly
let mut package = Package::new("my-model".to_string(), "1.0.0".to_string());
package.add_source_file("main", "fn main() { println!(\"Hello!\"); }").unwrap();
// Save the package
package.save("my-model.torshpkg").unwrap();
// Load a package
let loaded = Package::load("my-model.torshpkg").unwrap();Re-exports§
pub use access_control::AccessCheckResult;pub use access_control::AccessControlManager;pub use access_control::AccessLevel;pub use access_control::AclEntry;pub use access_control::Organization;pub use access_control::OrganizationMembership;pub use access_control::PackageOwnership;pub use access_control::Permission;pub use access_control::Role;pub use access_control::User;pub use audit::ActionResult;pub use audit::AuditEvent;pub use audit::AuditEventType;pub use audit::AuditListener;pub use audit::AuditLogConfig;pub use audit::AuditLogFormat;pub use audit::AuditLogger;pub use audit::AuditQuery;pub use audit::AuditSeverity;pub use audit::AuditStatistics;pub use audit_storage::AuditStorage;pub use audit_storage::DatabaseStatistics;pub use audit_storage::InMemoryStorage;pub use audit_storage::PoolStatistics;pub use audit_storage::PostgresStorage;pub use audit_storage::PostgresStorageConfig;pub use audit_storage::SqliteStorage;pub use audit_storage::SqliteStorageConfig;pub use audit_storage::SslMode;pub use audit_storage::StorageStatistics;pub use backup::BackupConfig;pub use backup::BackupDestination;pub use backup::BackupManager;pub use backup::BackupMetadata;pub use backup::BackupStatistics;pub use backup::BackupStrategy;pub use backup::RecoveryPoint;pub use backup::RetentionPolicy;pub use backup::VerificationResult;pub use builder::BuilderConfig;pub use builder::PackageBuilder;pub use cdn::CacheControl;pub use cdn::CdnConfig;pub use cdn::CdnManager;pub use cdn::CdnProvider;pub use cdn::CdnRegion;pub use cdn::CdnStatistics;pub use cdn::EdgeNode;pub use cdn::EdgeNodeStatus;pub use cloud_storage::AzureConfig;pub use cloud_storage::GcsConfig;pub use cloud_storage::MockAzureStorage;pub use cloud_storage::MockGcsStorage;pub use cloud_storage::MockS3Storage;pub use cloud_storage::S3Config;pub use compression::AdvancedCompressor;pub use compression::CompressionAlgorithm;pub use compression::CompressionConfig;pub use compression::CompressionLevel;pub use compression::CompressionResult;pub use compression::CompressionStats;pub use compression::CompressionStrategy;pub use compression::DecompressionResult;pub use compression::ParallelCompressor;pub use delta::DeltaOperation;pub use delta::DeltaPackageExt;pub use delta::DeltaPatch;pub use delta::DeltaPatchApplier;pub use delta::DeltaPatchBuilder;pub use dependency::DependencyConflict;pub use dependency::DependencyGraph;pub use dependency::DependencyResolver;pub use dependency::DependencySpec;pub use dependency::LocalPackageRegistry;pub use dependency::PackageInfo;pub use dependency::PackageRegistry;pub use dependency::ResolutionStrategy;pub use dependency::ResolvedDependency;pub use dependency_installer::DownloadOptions;pub use dependency_installer::InstallationPlan;pub use dependency_installer::InstallationProgress;pub use dependency_installer::ParallelDependencyInstaller;pub use dependency_installer::PlannedPackage;pub use dependency_lockfile::LockedDependency;pub use dependency_lockfile::LockedPackage;pub use dependency_lockfile::LockfileGenerator;pub use dependency_lockfile::LockfileValidator;pub use dependency_lockfile::PackageLockfile;pub use dependency_solver::Assignment;pub use dependency_solver::CdclSolver;pub use dependency_solver::DependencySatSolver;pub use dependency_solver::DependencySolution;pub use dependency_solver::SatClause;pub use dependency_solver::SatLiteral;pub use dependency_solver::SatVariable;pub use dependency_solver::VersionConstraint;pub use diagnostics::DiagnosticIssue;pub use diagnostics::DiagnosticReport;pub use diagnostics::HealthStatus;pub use diagnostics::IssueCategory;pub use diagnostics::IssueSeverity;pub use diagnostics::PackageDiagnostics;pub use diagnostics::PackageStatistics;pub use diagnostics::ResourceValidation;pub use diagnostics::SecurityAssessment;pub use diagnostics::ValidationResult;pub use exporter::ExportConfig;pub use exporter::PackageExporter;pub use format_compat::FormatCompatibilityManager;pub use format_compat::FormatConverter;pub use format_compat::HuggingFaceConverter;pub use format_compat::PackageFormat;pub use format_compat::PyTorchConverter;pub use governance::ComplianceIssue;pub use governance::ComplianceLevel;pub use governance::ComplianceMetadata;pub use governance::ComplianceReport;pub use governance::IssueSeverity as ComplianceIssueSeverity;pub use governance::LineageEdge;pub use governance::LineageQueryResult;pub use governance::LineageRelation;pub use governance::LineageStatistics;pub use governance::LineageTracker;pub use governance::ProvenanceInfo;pub use governance::TransformationRecord;pub use importer::ImportConfig;pub use importer::PackageImporter;pub use lazy_resources::EvictionStrategy;pub use lazy_resources::LazyResource;pub use lazy_resources::LazyResourceManager;pub use lazy_resources::MappedResource;pub use lazy_resources::ResourceStreamWriter;pub use lazy_resources::StreamingResource;pub use manifest::ModuleInfo;pub use manifest::PackageManifest;pub use manifest::ResourceInfo;pub use mirror::FailoverConfig;pub use mirror::Mirror;pub use mirror::MirrorConfig;pub use mirror::MirrorHealth;pub use mirror::MirrorManager;pub use mirror::MirrorSelection;pub use mirror::MirrorStatistics;pub use mirror::SelectionStrategy;pub use mirror::SyncStatus;pub use monitoring::Alert;pub use monitoring::AlertSeverity;pub use monitoring::AlertThreshold;pub use monitoring::AnalyticsReport;pub use monitoring::MetricPoint;pub use monitoring::MetricType;pub use monitoring::MetricsCollector;pub use monitoring::PackageStats;pub use monitoring::RegionStats;pub use monitoring::TimeSeries;pub use monitoring::TimeSeriesStats;pub use monitoring::UserStats;pub use optimization::CompressibleResource;pub use optimization::CompressionAnalysis;pub use optimization::DeduplicationAnalysis;pub use optimization::OptimizationOpportunity;pub use optimization::OptimizationReport;pub use optimization::OptimizationType;pub use optimization::PackageOptimizer;pub use package::Package;pub use profiling::global_profiler;pub use profiling::profile;pub use profiling::OperationProfiler;pub use profiling::PackageOperation;pub use profiling::ProfileEntry;pub use profiling::ProfileGuard;pub use profiling::ProfileStats;pub use replication::ConflictResolution;pub use replication::ConsistencyLevel;pub use replication::NodeStatus;pub use replication::OperationStatus;pub use replication::ReplicaMetadata;pub use replication::ReplicationConfig;pub use replication::ReplicationConflict;pub use replication::ReplicationManager;pub use replication::ReplicationNode;pub use replication::ReplicationOperation;pub use replication::ReplicationStatistics;pub use replication::ReplicationStrategy;pub use resources::Resource;pub use resources::ResourceType;pub use sandbox::CapabilitySet;pub use sandbox::FilesystemPolicy;pub use sandbox::NetworkPolicy;pub use sandbox::PortRange;pub use sandbox::ResourceLimits;pub use sandbox::ResourceMonitor;pub use sandbox::ResourceUsageStats;pub use sandbox::Sandbox;pub use sandbox::SandboxConfig;pub use sandbox::SandboxResult;pub use sandbox::SandboxViolation;pub use sandbox::ViolationSeverity;pub use sandbox::ViolationType;pub use security::EncryptedPackage;pub use security::EncryptionAlgorithm;pub use security::PackageEncryptor;pub use security::PackageSignature;pub use security::PackageSigner;pub use security::SignatureAlgorithm;pub use storage::LocalStorage;pub use storage::StorageBackend;pub use storage::StorageManager;pub use storage::StorageObject;pub use storage::StorageStats;pub use syslog_integration::SyslogClient;pub use syslog_integration::SyslogConfig;pub use syslog_integration::SyslogFacility;pub use syslog_integration::SyslogProtocol;pub use syslog_integration::SyslogSeverity;pub use syslog_integration::SyslogStatistics;pub use syslog_integration::SyslogTransport;pub use utils::calculate_checksum;pub use utils::calculate_hash;pub use utils::estimate_compression_ratio;pub use utils::format_file_size;pub use utils::get_file_extension;pub use utils::get_relative_path;pub use utils::import_module;pub use utils::is_safe_path;pub use utils::normalize_path;pub use utils::parse_content_type;pub use utils::sanitize_filename;pub use utils::validate_package_metadata;pub use utils::validate_package_name;pub use utils::validate_resource_path;pub use utils::validate_version;pub use utils::verify_checksum;pub use utils::MemoryStats;pub use utils::PerformanceTimer;pub use version::CompatibilityChecker;pub use version::PackageVersion;pub use version::VersionComparator;pub use version::VersionRequirement;pub use vulnerability::IssueType;pub use vulnerability::ScanPolicy;pub use vulnerability::ScanReport;pub use vulnerability::SecurityIssue;pub use vulnerability::Severity;pub use vulnerability::VulnerabilityScanner;pub use registry::PackageCache;pub use registry::PackageMetadata;pub use registry::RegistryClient;pub use registry::RegistryConfig;pub use registry::SearchResult;
Modules§
- access_
control - Role-Based Access Control (RBAC) for package distribution
- audit
- Audit logging for security compliance and tracking
- audit_
storage - Audit Log Storage Backends
- backup
- Backup and Recovery System
- builder
- Package Builder
- cdn
- Content Delivery Network (CDN) support for fast package distribution
- cloud_
storage - Cloud storage backend implementations
- compression
- Advanced compression algorithms for packages
- delta
- Delta patching for incremental package updates
- dependency
- Dependency resolution and management for packages
- dependency_
installer - Parallel dependency installation with async support
- dependency_
lockfile - Dependency lockfile management for reproducible builds
- dependency_
solver - Advanced dependency resolution using SAT-based constraint solving
- diagnostics
- Package diagnostics and analysis
- exporter
- Package exporter functionality
- format_
compat - Format compatibility layer for different model package formats
- governance
- Package Governance and Lineage Tracking
- importer
- Package importer functionality
- lazy_
resources - Lazy loading resource system for packages
- manifest
- Package manifest handling
- mirror
- Mirror management for high availability package distribution
- monitoring
- Package Monitoring and Analytics
- optimization
- Package optimization utilities
- package
- Core Package implementation
- profiling
- Performance profiling and monitoring utilities
- registry
- Package registry client
- replication
- Package Replication and High Availability
- resources
- Resource handling for packages
- sandbox
- Sandboxing system for safe package execution
- security
- Security features for package signing and encryption
- storage
- Cloud storage abstraction for package distribution
- syslog_
integration - Syslog Integration for Centralized Logging
- utils
- Utility functions
- version
- Package version handling and compatibility
- vulnerability
- Package vulnerability scanning and security auditing
Constants§
- DEFAULT_
MAX_ PACKAGE_ SIZE - Maximum package size in bytes (1GB by default)
- DEFAULT_
MAX_ RESOURCES - Maximum number of resources per package
- PACKAGE_
EXTENSION - Default file extension for ToRSh packages
- PACKAGE_
FORMAT_ VERSION - Package format version