db-sync-tool-kmi 3.0.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.
Files changed (50) hide show
  1. db_sync_tool_kmi-3.0.1/LICENSE +21 -0
  2. db_sync_tool_kmi-3.0.1/PKG-INFO +106 -0
  3. db_sync_tool_kmi-3.0.1/README.md +64 -0
  4. db_sync_tool_kmi-3.0.1/db_sync_tool/__init__.py +0 -0
  5. db_sync_tool_kmi-3.0.1/db_sync_tool/__main__.py +18 -0
  6. db_sync_tool_kmi-3.0.1/db_sync_tool/cli.py +733 -0
  7. db_sync_tool_kmi-3.0.1/db_sync_tool/database/__init__.py +0 -0
  8. db_sync_tool_kmi-3.0.1/db_sync_tool/database/process.py +207 -0
  9. db_sync_tool_kmi-3.0.1/db_sync_tool/database/utility.py +460 -0
  10. db_sync_tool_kmi-3.0.1/db_sync_tool/info.py +6 -0
  11. db_sync_tool_kmi-3.0.1/db_sync_tool/recipes/__init__.py +0 -0
  12. db_sync_tool_kmi-3.0.1/db_sync_tool/recipes/drupal.py +136 -0
  13. db_sync_tool_kmi-3.0.1/db_sync_tool/recipes/laravel.py +41 -0
  14. db_sync_tool_kmi-3.0.1/db_sync_tool/recipes/parsing.py +102 -0
  15. db_sync_tool_kmi-3.0.1/db_sync_tool/recipes/symfony.py +71 -0
  16. db_sync_tool_kmi-3.0.1/db_sync_tool/recipes/typo3.py +97 -0
  17. db_sync_tool_kmi-3.0.1/db_sync_tool/recipes/wordpress.py +46 -0
  18. db_sync_tool_kmi-3.0.1/db_sync_tool/remote/__init__.py +0 -0
  19. db_sync_tool_kmi-3.0.1/db_sync_tool/remote/client.py +324 -0
  20. db_sync_tool_kmi-3.0.1/db_sync_tool/remote/file_transfer.py +303 -0
  21. db_sync_tool_kmi-3.0.1/db_sync_tool/remote/rsync.py +163 -0
  22. db_sync_tool_kmi-3.0.1/db_sync_tool/remote/system.py +44 -0
  23. db_sync_tool_kmi-3.0.1/db_sync_tool/remote/transfer.py +175 -0
  24. db_sync_tool_kmi-3.0.1/db_sync_tool/remote/utility.py +122 -0
  25. db_sync_tool_kmi-3.0.1/db_sync_tool/sync.py +104 -0
  26. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/__init__.py +0 -0
  27. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/config.py +367 -0
  28. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/config_resolver.py +573 -0
  29. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/console.py +705 -0
  30. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/exceptions.py +32 -0
  31. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/helper.py +332 -0
  32. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/info.py +122 -0
  33. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/log.py +73 -0
  34. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/logging_config.py +410 -0
  35. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/mode.py +270 -0
  36. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/output.py +214 -0
  37. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/parser.py +219 -0
  38. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/pure.py +93 -0
  39. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/security.py +78 -0
  40. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/system.py +669 -0
  41. db_sync_tool_kmi-3.0.1/db_sync_tool/utility/validation.py +109 -0
  42. db_sync_tool_kmi-3.0.1/db_sync_tool_kmi.egg-info/PKG-INFO +106 -0
  43. db_sync_tool_kmi-3.0.1/db_sync_tool_kmi.egg-info/SOURCES.txt +48 -0
  44. db_sync_tool_kmi-3.0.1/db_sync_tool_kmi.egg-info/dependency_links.txt +1 -0
  45. db_sync_tool_kmi-3.0.1/db_sync_tool_kmi.egg-info/entry_points.txt +2 -0
  46. db_sync_tool_kmi-3.0.1/db_sync_tool_kmi.egg-info/requires.txt +7 -0
  47. db_sync_tool_kmi-3.0.1/db_sync_tool_kmi.egg-info/top_level.txt +1 -0
  48. db_sync_tool_kmi-3.0.1/pyproject.toml +71 -0
  49. db_sync_tool_kmi-3.0.1/setup.cfg +4 -0
  50. db_sync_tool_kmi-3.0.1/setup.py +51 -0
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 Konrad Michalik
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,106 @@
1
+ Metadata-Version: 2.4
2
+ Name: db_sync_tool-kmi
3
+ Version: 3.0.1
4
+ Summary: Synchronize a database from and to host systems.
5
+ Home-page: https://github.com/jackd248/db-sync-tool
6
+ Author: Konrad Michalik
7
+ Author-email: support@konradmichalik.eu
8
+ License: MIT
9
+ Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
14
+ Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: MacOS :: MacOS X
17
+ Classifier: Operating System :: Microsoft :: Windows
18
+ Classifier: Operating System :: POSIX
19
+ Classifier: Topic :: Database
20
+ Classifier: Intended Audience :: Developers
21
+ Requires-Python: >=3.10
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: paramiko>=4.0
25
+ Requires-Dist: pyyaml>=6.0.2
26
+ Requires-Dist: jsonschema>=4.20
27
+ Requires-Dist: requests>=2.31.0
28
+ Requires-Dist: semantic_version>=2.10.0
29
+ Requires-Dist: rich>=13.0
30
+ Requires-Dist: typer[all]>=0.15.0
31
+ Dynamic: author
32
+ Dynamic: author-email
33
+ Dynamic: classifier
34
+ Dynamic: description
35
+ Dynamic: description-content-type
36
+ Dynamic: home-page
37
+ Dynamic: license
38
+ Dynamic: license-file
39
+ Dynamic: requires-dist
40
+ Dynamic: requires-python
41
+ Dynamic: summary
42
+
43
+ <div align="center">
44
+
45
+ ![db-sync-tool](docs/images/db-sync-tool-example-receiver.gif)
46
+
47
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/db_sync_tool-kmi)](https://pypi.org/project/db-sync-tool-kmi/)
48
+ [![PyPI](https://img.shields.io/pypi/v/db_sync_tool-kmi)](https://pypi.org/project/db-sync-tool-kmi/)
49
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/db-sync-tool-kmi)](https://pypi.org/project/db-sync-tool-kmi/)
50
+ [![Packagist](https://img.shields.io/packagist/v/kmi/db-sync-tool)](https://packagist.org/packages/kmi/db-sync-tool)
51
+
52
+ # Database Sync Tool
53
+
54
+ A Python CLI to synchronize MySQL/MariaDB databases between systems with automatic credential extraction.
55
+
56
+ [**Explore the docs &raquo;**](https://konradmichalik.github.io/db-sync-tool/)
57
+
58
+ [Report Bug](https://github.com/konradmichalik/db-sync-tool/issues/new) ยท
59
+ [Request Feature](https://github.com/konradmichalik/db-sync-tool/issues/new) ยท
60
+ [Latest Release](https://github.com/konradmichalik/db-sync-tool/releases/latest)
61
+
62
+ </div>
63
+
64
+ ## โœจ Features
65
+
66
+ * Sync databases from and to remote systems via SSH
67
+ * Proxy mode for transfers between isolated environments
68
+ * Automatic credential extraction from PHP frameworks
69
+ * TYPO3, Symfony, Drupal, WordPress, Laravel
70
+ * Auto-discovery configuration for quick syncs
71
+ * Host protection to prevent accidental overwrites
72
+ * Optimized transfers with gzip compression and rsync
73
+
74
+ ## ๐Ÿš€ Getting Started
75
+
76
+ ```bash
77
+ # Install via pip
78
+ pip install db-sync-tool-kmi
79
+
80
+ # Sync using auto-discovery
81
+ db_sync_tool production local
82
+
83
+ # Or use a config file
84
+ db_sync_tool -f config.yaml
85
+ ```
86
+
87
+ Find more [installation methods](https://konradmichalik.github.io/db-sync-tool/getting-started/installation) in the documentation.
88
+
89
+ ## ๐Ÿ“• Documentation
90
+
91
+ Find all configuration options, sync modes, and framework guides in the [official documentation](https://konradmichalik.github.io/db-sync-tool/).
92
+
93
+ ## ๐Ÿง‘โ€๐Ÿ’ป Contributing
94
+
95
+ ```bash
96
+ # Run tests
97
+ ./tests/run-unit-tests.sh
98
+ ./tests/run-integration-tests.sh
99
+
100
+ # Lint
101
+ pipx run ruff check db_sync_tool/
102
+ ```
103
+
104
+ ## โญ License
105
+
106
+ This project is licensed under the MIT License.
@@ -0,0 +1,64 @@
1
+ <div align="center">
2
+
3
+ ![db-sync-tool](docs/images/db-sync-tool-example-receiver.gif)
4
+
5
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/db_sync_tool-kmi)](https://pypi.org/project/db-sync-tool-kmi/)
6
+ [![PyPI](https://img.shields.io/pypi/v/db_sync_tool-kmi)](https://pypi.org/project/db-sync-tool-kmi/)
7
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/db-sync-tool-kmi)](https://pypi.org/project/db-sync-tool-kmi/)
8
+ [![Packagist](https://img.shields.io/packagist/v/kmi/db-sync-tool)](https://packagist.org/packages/kmi/db-sync-tool)
9
+
10
+ # Database Sync Tool
11
+
12
+ A Python CLI to synchronize MySQL/MariaDB databases between systems with automatic credential extraction.
13
+
14
+ [**Explore the docs &raquo;**](https://konradmichalik.github.io/db-sync-tool/)
15
+
16
+ [Report Bug](https://github.com/konradmichalik/db-sync-tool/issues/new) ยท
17
+ [Request Feature](https://github.com/konradmichalik/db-sync-tool/issues/new) ยท
18
+ [Latest Release](https://github.com/konradmichalik/db-sync-tool/releases/latest)
19
+
20
+ </div>
21
+
22
+ ## โœจ Features
23
+
24
+ * Sync databases from and to remote systems via SSH
25
+ * Proxy mode for transfers between isolated environments
26
+ * Automatic credential extraction from PHP frameworks
27
+ * TYPO3, Symfony, Drupal, WordPress, Laravel
28
+ * Auto-discovery configuration for quick syncs
29
+ * Host protection to prevent accidental overwrites
30
+ * Optimized transfers with gzip compression and rsync
31
+
32
+ ## ๐Ÿš€ Getting Started
33
+
34
+ ```bash
35
+ # Install via pip
36
+ pip install db-sync-tool-kmi
37
+
38
+ # Sync using auto-discovery
39
+ db_sync_tool production local
40
+
41
+ # Or use a config file
42
+ db_sync_tool -f config.yaml
43
+ ```
44
+
45
+ Find more [installation methods](https://konradmichalik.github.io/db-sync-tool/getting-started/installation) in the documentation.
46
+
47
+ ## ๐Ÿ“• Documentation
48
+
49
+ Find all configuration options, sync modes, and framework guides in the [official documentation](https://konradmichalik.github.io/db-sync-tool/).
50
+
51
+ ## ๐Ÿง‘โ€๐Ÿ’ป Contributing
52
+
53
+ ```bash
54
+ # Run tests
55
+ ./tests/run-unit-tests.sh
56
+ ./tests/run-integration-tests.sh
57
+
58
+ # Lint
59
+ pipx run ruff check db_sync_tool/
60
+ ```
61
+
62
+ ## โญ License
63
+
64
+ This project is licensed under the MIT License.
File without changes
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env python3
2
+
3
+ """
4
+ Main entry point for db_sync_tool CLI.
5
+
6
+ Uses typer for modern CLI with grouped help output and shell completion.
7
+ """
8
+
9
+ from db_sync_tool.cli import run
10
+
11
+
12
+ def main() -> None:
13
+ """Main entry point for the command line."""
14
+ run()
15
+
16
+
17
+ if __name__ == "__main__":
18
+ main()