smart-repository-manager-core

Smart Repository Manager Core - A Python library for managing Git repositories with intelligent synchronization, SSH configuration validation, and GitHub integration.

v1.0.0 Python 3.8+

Quick Install via pip
pip install smart-repository-manager-core

Description

Smart Repository Manager Core v1.0.0


A Python library for managing Git repositories with intelligent synchronization and GitHub integration.


PyPI - Downloads
GitHub release (latest by date)
GitHub top language
PyPI
GitHub
PyPI - Format
GitHub stars
GitHub forks


⚠️ Disclaimer

By using this software, you agree to the full disclaimer terms.

Summary: Software provided "AS IS" without warranty. You assume all risks.

Full legal disclaimer: See DISCLAIMER.md


Important Change: HTTP Migration

As of version 0.3.2, repository synchronization now uses HTTPS instead of SSH.

This change was made to:
- Simplify authentication (uses GitHub tokens instead of SSH keys)
- Improve compatibility across different network environments
- Reduce configuration complexity for users

If you were using previous versions with SSH, please note:
- Existing SSH configurations are preserved but no longer used for synchronization
- You'll need a GitHub token for authentication (see GitHub Integration)
- SSH-related features (key validation, configuration) are being phased out

Features

  • Repository Management: Clone, pull, parallel download and sync GitHub repositories with intelligent health checks
  • GitHub Integration: Token authentication, repository listing, and metadata retrieval
  • User Management: Multiple user profiles with GitHub token authentication
  • Network Diagnostics: Comprehensive connectivity checks and network validation
  • Smart Synchronization: Intelligent sync with auto-repair for broken repositories
  • Configuration Persistence: User settings and repository state storage

Installation

pip install smart-repository-manager-core

Core Services

Repository Management

  • Clone repositories via HTTPS
  • Pull updates with health verification
  • Automatic repair of broken repositories
  • Repository health diagnostics
  • Create repository archives
  • Parallel repository downloading

GitHub Integration

  • Token authentication and validation
  • Repository listing and metadata
  • Rate limit monitoring
  • User profile management
  • HTTPS-based operations (SSH no longer used)

SSH Management

  • Legacy feature - being phased out
  • SSH key validation and permissions checking (maintained for backward compatibility)
  • SSH connection testing (will be removed in future versions)
  • New projects should use HTTPS with tokens instead

Network Services

  • Connectivity checks for GitHub and Git services
  • DNS resolution testing
  • Network diagnostics

Configuration

  • User profile management
  • Application settings persistence
  • Multi-user support
  • Token storage

Requirements

  • Python 3.6+
  • Git installed and available in PATH
  • GitHub token for authentication (SSH keys no longer required)

License

BSD 3-Clause License - See LICENSE file for details.

This core library powers two complete implementations:

CLI Version

A full-featured command-line interface built on top of this core library. Provides terminal-based repository management with all features accessible via commands.

GUI Version

A desktop graphical user interface that offers visual management of repositories and synchronization tasks. Built for users who prefer point-and-click interaction.

Both implementations use this core library as their engine, ensuring consistent behavior and feature parity across interfaces.


Development Status

Active Development - This project is under active development. Features may change, and stability is not guaranteed. Not recommended for production use without thorough testing.

Migration Notes

If you're upgrading from a version prior to 0.3.2:

  1. Obtain a GitHub token from your GitHub account settings
  2. Update your user profile with the new token
  3. Existing repositories will automatically use HTTPS for future operations
  4. SSH configurations are preserved but will be ignored for sync operations

Contributing

Currently not accepting contributions as the project is in early development phase.

Support

For issues and questions, please check the GitHub repository:
https://github.com/smartlegionlab/smart-repository-manager-core


Developer: Alexander Suvorov
Contact: smartlegiondev@gmail.com