dar-backup 0.8.3__py3-none-any.whl → 1.0.0__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.
- dar_backup/Changelog.md +19 -0
- dar_backup/README.md +36 -18
- dar_backup/__about__.py +1 -1
- dar_backup/dar_backup.py +3 -1
- {dar_backup-0.8.3.dist-info → dar_backup-1.0.0.dist-info}/METADATA +37 -19
- {dar_backup-0.8.3.dist-info → dar_backup-1.0.0.dist-info}/RECORD +9 -9
- {dar_backup-0.8.3.dist-info → dar_backup-1.0.0.dist-info}/WHEEL +0 -0
- {dar_backup-0.8.3.dist-info → dar_backup-1.0.0.dist-info}/entry_points.txt +0 -0
- {dar_backup-0.8.3.dist-info → dar_backup-1.0.0.dist-info}/licenses/LICENSE +0 -0
dar_backup/Changelog.md
CHANGED
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
<!-- markdownlint-disable MD024 -->
|
|
2
2
|
# dar-backup Changelog
|
|
3
3
|
|
|
4
|
+
## v2-1.0.0 - 2025-10-09
|
|
5
|
+
|
|
6
|
+
Github link: [v2-1.0.0](https://github.com/per2jensen/dar-backup/tree/v2-1.0.0/v2)
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- Version 2 **1.0.0** declared
|
|
11
|
+
- A bunch of test cases
|
|
12
|
+
- Codecov config changes
|
|
13
|
+
|
|
14
|
+
## v2-beta-0.8.4 - 2025-08-23
|
|
15
|
+
|
|
16
|
+
Github link: [v2-beta-0.8.4](https://github.com/per2jensen/dar-backup/tree/v2-beta-0.8.4/v2)
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- Option '-D' only added when restoring FULL backups.
|
|
21
|
+
- A test case on [my dar-backup-image repo](https://github.com/per2jensen/dar-backup-image) does not delete a lone file in a directory if -D is used restoring from a DIFF.
|
|
22
|
+
|
|
4
23
|
## v2-beta-0.8.3 - 2025-08-23
|
|
5
24
|
|
|
6
25
|
Github link: [v2-beta-0.8.3](https://github.com/per2jensen/dar-backup/tree/v2-beta-0.8.3/v2)
|
dar_backup/README.md
CHANGED
|
@@ -20,6 +20,8 @@ This is the `Python` based [**version 2**](https://github.com/per2jensen/dar-bac
|
|
|
20
20
|
|
|
21
21
|
`dar-backup` is a Python-powered CLI for creating and validating full, differential, and incremental backups using `dar` and `par2`. Designed for long-term restore integrity, even on user-space filesystems like FUSE.
|
|
22
22
|
|
|
23
|
+
Version **1.0.0** was reached on October 9, 2025.
|
|
24
|
+
|
|
23
25
|
## Table of Contents
|
|
24
26
|
|
|
25
27
|
- [`dar-backup`](#dar-backup)
|
|
@@ -36,6 +38,7 @@ This is the `Python` based [**version 2**](https://github.com/per2jensen/dar-bac
|
|
|
36
38
|
- [Community](#community)
|
|
37
39
|
- [Requirements](#requirements)
|
|
38
40
|
- [dar-backup principles](#dar-backup-principles)
|
|
41
|
+
- [dar-backup overview](#dar-backup-overview)
|
|
39
42
|
- [dar-backup](#dar-backup-1)
|
|
40
43
|
- [cleanup](#cleanup)
|
|
41
44
|
- [manager](#manager)
|
|
@@ -373,11 +376,15 @@ PAR2 enabled: True
|
|
|
373
376
|
> Checkout the [reference section](#reference)
|
|
374
377
|
|
|
375
378
|
## Status
|
|
379
|
+
**1.0.0 milestone reached**
|
|
376
380
|
|
|
377
|
-
|
|
381
|
+
October 9, 2025, I have promoted version 0.8.4 --> **1.0.0** after having added more test cases and seen no issues with 0.8.4.
|
|
378
382
|
|
|
379
383
|
As of February 13, 2025, I have changed the status from alpha --> beta, as the featureset is in place and the alphas have worked well for a very long time.
|
|
380
384
|
|
|
385
|
+
As of August 8, 2024 I am using the alpha versions of `dar-backup` (alpha-0.5.9 onwards) in my automated backup routine.
|
|
386
|
+
|
|
387
|
+
|
|
381
388
|
### GPG Signing key
|
|
382
389
|
|
|
383
390
|
To increase the security and authenticity of dar-backup packages, all releases from v2-beta-0.6.18 onwards will be digitally signed using the GPG key below.
|
|
@@ -507,6 +514,10 @@ On Ubuntu, install the requirements this way:
|
|
|
507
514
|
|
|
508
515
|
## dar-backup principles
|
|
509
516
|
|
|
517
|
+
### dar-backup overview
|
|
518
|
+
|
|
519
|
+

|
|
520
|
+
|
|
510
521
|
### dar-backup
|
|
511
522
|
|
|
512
523
|
`dar-backup` is built in a way that emphasizes getting backups. It loops over the [backup definitions](#backup-definition-example), and in the event of a failure while backing up a backup definition, dar-backup shall log an error and start working on the next backup definition.
|
|
@@ -1598,25 +1609,32 @@ Running
|
|
|
1598
1609
|
pytest --cov=dar_backup tests/
|
|
1599
1610
|
```
|
|
1600
1611
|
|
|
1601
|
-
Results for
|
|
1612
|
+
Results for version 1.0.0 in this report:
|
|
1602
1613
|
|
|
1603
1614
|
```text
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
src/dar_backup/
|
|
1610
|
-
src/dar_backup/
|
|
1611
|
-
src/dar_backup/
|
|
1612
|
-
src/dar_backup/
|
|
1613
|
-
src/dar_backup/
|
|
1614
|
-
src/dar_backup/
|
|
1615
|
-
src/dar_backup/
|
|
1616
|
-
src/dar_backup/
|
|
1617
|
-
src/dar_backup/
|
|
1618
|
-
|
|
1619
|
-
|
|
1615
|
+
====================================== tests coverage ======================================
|
|
1616
|
+
_____________________ coverage: platform linux, python 3.12.3-final-0 ______________________
|
|
1617
|
+
|
|
1618
|
+
Name Stmts Miss Branch BrPart Cover
|
|
1619
|
+
------------------------------------------------------------------------
|
|
1620
|
+
src/dar_backup/__about__.py 2 0 0 0 100%
|
|
1621
|
+
src/dar_backup/__init__.py 0 0 0 0 100%
|
|
1622
|
+
src/dar_backup/clean_log.py 76 15 40 7 81%
|
|
1623
|
+
src/dar_backup/cleanup.py 203 16 66 7 91%
|
|
1624
|
+
src/dar_backup/command_runner.py 129 16 26 5 86%
|
|
1625
|
+
src/dar_backup/config_settings.py 73 3 18 1 96%
|
|
1626
|
+
src/dar_backup/dar_backup.py 551 28 180 21 93%
|
|
1627
|
+
src/dar_backup/dar_backup_systemd.py 56 7 10 2 86%
|
|
1628
|
+
src/dar_backup/demo.py 92 20 26 6 75%
|
|
1629
|
+
src/dar_backup/exceptions.py 2 0 0 0 100%
|
|
1630
|
+
src/dar_backup/installer.py 107 14 46 9 82%
|
|
1631
|
+
src/dar_backup/manager.py 427 42 152 15 90%
|
|
1632
|
+
src/dar_backup/rich_progress.py 70 7 30 4 89%
|
|
1633
|
+
src/dar_backup/util.py 339 41 88 21 85%
|
|
1634
|
+
------------------------------------------------------------------------
|
|
1635
|
+
TOTAL 2127 209 682 98 89%
|
|
1636
|
+
Coverage XML written to file coverage.xml
|
|
1637
|
+
======================== 257 passed, 1 skipped in 223.21s (0:03:43) ========================
|
|
1620
1638
|
```
|
|
1621
1639
|
|
|
1622
1640
|
### Dar-backup options
|
dar_backup/__about__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
__version__ = "0.
|
|
1
|
+
__version__ = "1.0.0"
|
|
2
2
|
|
|
3
3
|
__license__ = '''Licensed under GNU GENERAL PUBLIC LICENSE v3, see the supplied file "LICENSE" for details.
|
|
4
4
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW, not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
dar_backup/dar_backup.py
CHANGED
|
@@ -347,7 +347,9 @@ def restore_backup(backup_name: str, config_settings: ConfigSettings, restore_di
|
|
|
347
347
|
results: List[tuple] = []
|
|
348
348
|
try:
|
|
349
349
|
backup_file = os.path.join(config_settings.backup_dir, backup_name)
|
|
350
|
-
command = ['dar', '-x', backup_file, '-wa', '-/ Oo', '--noconf', '-Q'
|
|
350
|
+
command = ['dar', '-x', backup_file, '-wa', '-/ Oo', '--noconf', '-Q']
|
|
351
|
+
if "_FULL_" in backup_name:
|
|
352
|
+
command.append('-D')
|
|
351
353
|
if restore_dir:
|
|
352
354
|
if not os.path.exists(restore_dir):
|
|
353
355
|
os.makedirs(restore_dir)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dar-backup
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0
|
|
4
4
|
Summary: A script to do full, differential and incremental backups using dar. Some files are restored from the backups during verification, after which par2 redundancy files are created. The script also has a cleanup feature to remove old backups and par2 files.
|
|
5
5
|
Project-URL: GPG Public Key, https://keys.openpgp.org/search?q=dar-backup@pm.me
|
|
6
6
|
Project-URL: Homepage, https://github.com/per2jensen/dar-backup/tree/main/v2
|
|
@@ -738,6 +738,8 @@ This is the `Python` based [**version 2**](https://github.com/per2jensen/dar-bac
|
|
|
738
738
|
|
|
739
739
|
`dar-backup` is a Python-powered CLI for creating and validating full, differential, and incremental backups using `dar` and `par2`. Designed for long-term restore integrity, even on user-space filesystems like FUSE.
|
|
740
740
|
|
|
741
|
+
Version **1.0.0** was reached on October 9, 2025.
|
|
742
|
+
|
|
741
743
|
## Table of Contents
|
|
742
744
|
|
|
743
745
|
- [`dar-backup`](#dar-backup)
|
|
@@ -754,6 +756,7 @@ This is the `Python` based [**version 2**](https://github.com/per2jensen/dar-bac
|
|
|
754
756
|
- [Community](#community)
|
|
755
757
|
- [Requirements](#requirements)
|
|
756
758
|
- [dar-backup principles](#dar-backup-principles)
|
|
759
|
+
- [dar-backup overview](#dar-backup-overview)
|
|
757
760
|
- [dar-backup](#dar-backup-1)
|
|
758
761
|
- [cleanup](#cleanup)
|
|
759
762
|
- [manager](#manager)
|
|
@@ -1091,11 +1094,15 @@ PAR2 enabled: True
|
|
|
1091
1094
|
> Checkout the [reference section](#reference)
|
|
1092
1095
|
|
|
1093
1096
|
## Status
|
|
1097
|
+
**1.0.0 milestone reached**
|
|
1094
1098
|
|
|
1095
|
-
|
|
1099
|
+
October 9, 2025, I have promoted version 0.8.4 --> **1.0.0** after having added more test cases and seen no issues with 0.8.4.
|
|
1096
1100
|
|
|
1097
1101
|
As of February 13, 2025, I have changed the status from alpha --> beta, as the featureset is in place and the alphas have worked well for a very long time.
|
|
1098
1102
|
|
|
1103
|
+
As of August 8, 2024 I am using the alpha versions of `dar-backup` (alpha-0.5.9 onwards) in my automated backup routine.
|
|
1104
|
+
|
|
1105
|
+
|
|
1099
1106
|
### GPG Signing key
|
|
1100
1107
|
|
|
1101
1108
|
To increase the security and authenticity of dar-backup packages, all releases from v2-beta-0.6.18 onwards will be digitally signed using the GPG key below.
|
|
@@ -1225,6 +1232,10 @@ On Ubuntu, install the requirements this way:
|
|
|
1225
1232
|
|
|
1226
1233
|
## dar-backup principles
|
|
1227
1234
|
|
|
1235
|
+
### dar-backup overview
|
|
1236
|
+
|
|
1237
|
+

|
|
1238
|
+
|
|
1228
1239
|
### dar-backup
|
|
1229
1240
|
|
|
1230
1241
|
`dar-backup` is built in a way that emphasizes getting backups. It loops over the [backup definitions](#backup-definition-example), and in the event of a failure while backing up a backup definition, dar-backup shall log an error and start working on the next backup definition.
|
|
@@ -2316,25 +2327,32 @@ Running
|
|
|
2316
2327
|
pytest --cov=dar_backup tests/
|
|
2317
2328
|
```
|
|
2318
2329
|
|
|
2319
|
-
Results for
|
|
2330
|
+
Results for version 1.0.0 in this report:
|
|
2320
2331
|
|
|
2321
2332
|
```text
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
src/dar_backup/
|
|
2328
|
-
src/dar_backup/
|
|
2329
|
-
src/dar_backup/
|
|
2330
|
-
src/dar_backup/
|
|
2331
|
-
src/dar_backup/
|
|
2332
|
-
src/dar_backup/
|
|
2333
|
-
src/dar_backup/
|
|
2334
|
-
src/dar_backup/
|
|
2335
|
-
src/dar_backup/
|
|
2336
|
-
|
|
2337
|
-
|
|
2333
|
+
====================================== tests coverage ======================================
|
|
2334
|
+
_____________________ coverage: platform linux, python 3.12.3-final-0 ______________________
|
|
2335
|
+
|
|
2336
|
+
Name Stmts Miss Branch BrPart Cover
|
|
2337
|
+
------------------------------------------------------------------------
|
|
2338
|
+
src/dar_backup/__about__.py 2 0 0 0 100%
|
|
2339
|
+
src/dar_backup/__init__.py 0 0 0 0 100%
|
|
2340
|
+
src/dar_backup/clean_log.py 76 15 40 7 81%
|
|
2341
|
+
src/dar_backup/cleanup.py 203 16 66 7 91%
|
|
2342
|
+
src/dar_backup/command_runner.py 129 16 26 5 86%
|
|
2343
|
+
src/dar_backup/config_settings.py 73 3 18 1 96%
|
|
2344
|
+
src/dar_backup/dar_backup.py 551 28 180 21 93%
|
|
2345
|
+
src/dar_backup/dar_backup_systemd.py 56 7 10 2 86%
|
|
2346
|
+
src/dar_backup/demo.py 92 20 26 6 75%
|
|
2347
|
+
src/dar_backup/exceptions.py 2 0 0 0 100%
|
|
2348
|
+
src/dar_backup/installer.py 107 14 46 9 82%
|
|
2349
|
+
src/dar_backup/manager.py 427 42 152 15 90%
|
|
2350
|
+
src/dar_backup/rich_progress.py 70 7 30 4 89%
|
|
2351
|
+
src/dar_backup/util.py 339 41 88 21 85%
|
|
2352
|
+
------------------------------------------------------------------------
|
|
2353
|
+
TOTAL 2127 209 682 98 89%
|
|
2354
|
+
Coverage XML written to file coverage.xml
|
|
2355
|
+
======================== 257 passed, 1 skipped in 223.21s (0:03:43) ========================
|
|
2338
2356
|
```
|
|
2339
2357
|
|
|
2340
2358
|
### Dar-backup options
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
dar_backup/.darrc,sha256=-aerqivZmOsW_XBCh9IfbYTUvw0GkzDSr3Vx4GcNB1g,2113
|
|
2
|
-
dar_backup/Changelog.md,sha256=
|
|
3
|
-
dar_backup/README.md,sha256=
|
|
4
|
-
dar_backup/__about__.py,sha256=
|
|
2
|
+
dar_backup/Changelog.md,sha256=sfDbEsLwy8BxdPf_eTaq0bZYa9M7VyvHXh_U6yLpEu8,13950
|
|
3
|
+
dar_backup/README.md,sha256=jAxeDjxV6sHaOXcmyWkUHXflZCpX5eD1WlTiPeAbz8o,66754
|
|
4
|
+
dar_backup/__about__.py,sha256=dLAAfn13y8IPDDlCcaP2dfU3BYHreQh_4ygtM60mZxQ,344
|
|
5
5
|
dar_backup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
dar_backup/clean_log.py,sha256=pmmyPmLWbm3_3sHwJt9V_xBwUF8v015iS17ypJAGAZ4,6023
|
|
7
7
|
dar_backup/cleanup.py,sha256=_ggDcpMCB1MhXStvYussp_PdGfhIFtEutT5BNrNkMSY,13297
|
|
@@ -9,7 +9,7 @@ dar_backup/command_runner.py,sha256=AeS8jqx2i6RX7UW6QZKvWEau3_MCGL181LvYCKFBdqg,
|
|
|
9
9
|
dar_backup/config_settings.py,sha256=2UAHvatrVO4ark6lCn2Q7qBvZN6DUMK2ftlNrKpzlWc,5792
|
|
10
10
|
dar_backup/dar-backup.conf,sha256=46V2zdvjj_aThFY11wWlffjmoiChYmatdf5DXCsmmao,1208
|
|
11
11
|
dar_backup/dar-backup.conf.j2,sha256=z3epGo6nB_Jh3liTOp93wJO_HKUsf7qghe9cdtFH7cY,2021
|
|
12
|
-
dar_backup/dar_backup.py,sha256=
|
|
12
|
+
dar_backup/dar_backup.py,sha256=ii7LIf5v3cgXPIbymDna4THYlxLAYEiuN4GHGH32dfA,43136
|
|
13
13
|
dar_backup/dar_backup_systemd.py,sha256=PwAc2H2J3hQLWpnC6Ib95NZYtB2G2NDgkSblfLj1n10,3875
|
|
14
14
|
dar_backup/demo.py,sha256=bxEq_nJwHuQydERPppkvhotg1fdwBX_CE33m5fX_kxw,7945
|
|
15
15
|
dar_backup/demo_backup_def.j2,sha256=hQW2Glp0QGV3Kt8cwjS0mpOCdyzjVlpgbgL6LpXTKJA,1793
|
|
@@ -18,8 +18,8 @@ dar_backup/installer.py,sha256=xSXh77qquIZbUTSY3AbhERQbS7bnrPE__M_yqpszdhM,6883
|
|
|
18
18
|
dar_backup/manager.py,sha256=d1zliFpSuWc8JhjKqLMC-xOhp5kSIcfeGkMZOVuZcM0,27143
|
|
19
19
|
dar_backup/rich_progress.py,sha256=SfwFxebBl6jnDQMUQr4McknkW1yQWaJVo1Ju1OD3okA,3221
|
|
20
20
|
dar_backup/util.py,sha256=iTOGsZyIdkvh9tIu7hD_IXi-9HO6GhVgqact5GGInEY,26063
|
|
21
|
-
dar_backup-0.
|
|
22
|
-
dar_backup-0.
|
|
23
|
-
dar_backup-0.
|
|
24
|
-
dar_backup-0.
|
|
25
|
-
dar_backup-0.
|
|
21
|
+
dar_backup-1.0.0.dist-info/METADATA,sha256=EYNRtG-13vSmaCtMy-HP-Wk78cBpDfZGkwjxzpsShbg,109445
|
|
22
|
+
dar_backup-1.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
23
|
+
dar_backup-1.0.0.dist-info/entry_points.txt,sha256=pOK9M8cHeAcGIatrYzkm_1O89kPk0enyYONALYjFBx4,286
|
|
24
|
+
dar_backup-1.0.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
25
|
+
dar_backup-1.0.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|