Простой инструмент для создания и восстановления бэкапов проектов в YAML формате
Project description
Simple Backup
Простой инструмент для создания и восстановления бэкапов проектов в YAML формате.
Установка
pip install simple-backup
Использование
Создание бэкапа
# Создать бэкап текущей директории
python -m simple-backup create backup.yml
# Создать бэкап конкретной директории
python -m simple-backup create backup.yml --path /path/to/project
# Подробный вывод
python -m simple-backup create backup.yml --verbose
Восстановление из бэкапа
# Восстановить проект
python -m simple-backup restore backup.yml /path/to/restore
# Предварительный просмотр
python -m simple-backup restore backup.yml /path/to/restore --preview
# Принудительная перезапись
python -m simple-backup restore backup.yml /path/to/restore --force
Примеры использования
Создание бэкапа проекта
cd /path/to/your/project
python -m simple-backup create project_backup.yml
Перенос на другой компьютер
- Скопируйте
project_backup.ymlна другой компьютер - Установите simple-backup:
pip install simple-backup - Восстановите проект:
python -m simple-backup restore project_backup.yml /mnt/data/project_folder
Поддерживаемые файлы
.py- Python файлы.md- Markdown файлы.yml,.yaml- YAML файлы.txt- Текстовые файлы.json- JSON файлы.toml- TOML файлы.cfg,.ini- Конфигурационные файлы
Исключаемые директории
.venv,__pycache__,.gitnode_modules,.pytest_cache,.mypy_cachebuild,dist- Все директории, начинающиеся с
.
Особенности
- ✅ Поддержка различных кодировок (UTF-8, CP1251, Latin-1)
- ✅ Сохранение метаданных (размер файлов, дата изменения)
- ✅ Прогресс-бары для длительных операций
- ✅ Цветной вывод и эмодзи для лучшего UX
- ✅ Предварительный просмотр перед восстановлением
- ✅ Безопасная обработка ошибок
Требования
- Python 3.9+
- PyYAML
- Click
Разработка
Установка для разработки
git clone https://github.com/yourusername/simple-backup.git
cd simple-backup
pip install -e .
Тестирование
# Локальное тестирование
python -m simple-backup create test_backup.yml
python -m simple-backup restore test_backup.yml test_restore
# Запуск тестов
pytest
CI/CD
Проект использует GitHub Actions для автоматической сборки и публикации:
- CI: Автоматическое тестирование на Python 3.9-3.12
- Release: Автоматическая публикация на PyPI при создании релиза
- Auto Release: Публикация при создании тега
v*
Создание релиза
- Обновите версию в
pyproject.toml - Создайте тег:
git tag v0.1.0 && git push origin v0.1.0 - GitHub Actions автоматически опубликует пакет на PyPI
Новый способ (без API токенов): Настройте PyPI Trusted Publishers в настройках PyPI → Trusted Publishers
Подробные инструкции в .github/RELEASE_SETUP.md
Лицензия
MIT License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simple_backup-0.1.0.tar.gz.
File metadata
- Download URL: simple_backup-0.1.0.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e262dbdddf2bda3ea9eb02ac63b39bd0ba339786694bf19c9b7f36b8a5dfd890
|
|
| MD5 |
0b50b7b3d35dfc657dcea6c489fa926d
|
|
| BLAKE2b-256 |
7a29afedc75a27ad24e98b68addf0d27e4e4a5efd79d8776d18bb231dc9fffd2
|
Provenance
The following attestation bundles were made for simple_backup-0.1.0.tar.gz:
Publisher:
auto-release.yml on vpuhoff/simple-backup-tool
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simple_backup-0.1.0.tar.gz -
Subject digest:
e262dbdddf2bda3ea9eb02ac63b39bd0ba339786694bf19c9b7f36b8a5dfd890 - Sigstore transparency entry: 578631385
- Sigstore integration time:
-
Permalink:
vpuhoff/simple-backup-tool@9944fe1fe4494fb0c8ad60c2be00b887e85d159e -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/vpuhoff
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
auto-release.yml@9944fe1fe4494fb0c8ad60c2be00b887e85d159e -
Trigger Event:
push
-
Statement type:
File details
Details for the file simple_backup-0.1.0-py3-none-any.whl.
File metadata
- Download URL: simple_backup-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95db8306de0a669d79e9df359bdcc949948c431cad9dde1de03124995ebf46da
|
|
| MD5 |
28a161beb824efc15538bbcd11d436ae
|
|
| BLAKE2b-256 |
177a21e797b3a24e72019e3700ea2b5206a7144075ca7e8acc3ad3f464166b47
|
Provenance
The following attestation bundles were made for simple_backup-0.1.0-py3-none-any.whl:
Publisher:
auto-release.yml on vpuhoff/simple-backup-tool
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simple_backup-0.1.0-py3-none-any.whl -
Subject digest:
95db8306de0a669d79e9df359bdcc949948c431cad9dde1de03124995ebf46da - Sigstore transparency entry: 578631397
- Sigstore integration time:
-
Permalink:
vpuhoff/simple-backup-tool@9944fe1fe4494fb0c8ad60c2be00b887e85d159e -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/vpuhoff
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
auto-release.yml@9944fe1fe4494fb0c8ad60c2be00b887e85d159e -
Trigger Event:
push
-
Statement type: