db-sync-tool-kmi


Namedb-sync-tool-kmi JSON
Version 2.11.4 PyPI version JSON
download
home_pagehttps://github.com/jackd248/db-sync-tool
SummarySynchronize a database from and to host systems.
upload_time2024-03-20 10:25:53
maintainerNone
docs_urlNone
authorKonrad Michalik
requires_python>=3.5
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            # db sync tool

![PyPI - Python Version](https://img.shields.io/pypi/pyversions/db_sync_tool-kmi)
![PyPI](https://img.shields.io/pypi/v/db_sync_tool-kmi)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/jackd248/db-sync-tool/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/jackd248/db-sync-tool/?branch=master)
[![Build Status](https://scrutinizer-ci.com/g/jackd248/db-sync-tool/badges/build.png?b=master)](https://scrutinizer-ci.com/g/jackd248/db-sync-tool/build-status/master)

Python script to synchronize a database from an origin to a target system with automatic database credential extraction depending on the selected framework.

## Features

- __Database sync__ from and to a remote system
  - [MySQL](https://www.mysql.com/) (>= 5.5)
  - [MariaDB](https://mariadb.org/) (>= 10.0)
- __Proxy mode__ between two remote systems
- Several [synchronisation modes](docs/MODE.md)
- Automatic database __credential extraction__ using a supported framework
    - [TYPO3](https://typo3.org/) (>= v7.6)
    - [Symfony](https://symfony.com/) (>= v2.8)
    - [Drupal](https://www.drupal.org/) (>= v8.0)
    - [Wordpress](https://wordpress.org) (>= v5.0)
    - [Laravel](https://laravel.com/) (>= v4.0)
- Easily dump creation (database __backup__)
- __Cleanup__ feature for backups
- Extended __logging__ capabilities
- Many more possibilities for [customization](docs/CONFIG.md)

## Installation

### Prerequisite

The script needs [python](https://python.org/) __3.5__ or higher. It is necessary for some additional functionalities to have [pip](https://pypi.org/project/pip/) installed on your local machine. 

<a name="install-pip"></a>
### pip
The library can be installed from [PyPI](https://pypi.org/project/db-sync-tool-kmi/):
```bash
$ pip3 install db-sync-tool-kmi
```

<a name="install-composer"></a>
### composer
While using the script within the PHP framework context, the script is available via [packagist.org](https://packagist.org/packages/kmi/db-sync-tool) using composer:

```bash
$ composer require kmi/db-sync-tool
```

Additionally install the python requirements via the following pip command:

````bash
$ pip3 install -e vendor/kmi/db-sync-tool/
````

## Quickstart

Detailed instructions for:

- [Manual database sync](docs/quickstart/START.md)
- [TYPO3 database sync](docs/quickstart/TYPO3.md)
- [Symfony database sync](docs/quickstart/SYMFONY.md)
- [Drupal database sync](docs/quickstart/DRUPAL.md)
- [Wordpress database sync](docs/quickstart/WORDPRESS.md)

If you want to have an inside in more configuration examples, see the [test scenarios](tests/scenario). 

## Usage

### Command line

Run the python script via command line.

Installed via [pip](#install-pip):
```bash
$ db_sync_tool
```

Installed via [composer](#install-composer):
```bash
$ python3 vendor/kmi/db-sync-tool/db_sync_tool
```

![Example receiver](docs/images/db-sync-tool-example-receiver.gif)

<a name="shell-arguments"></a>
#### Shell arguments

```bash
usage: db_sync_tool [-h] [-f CONFIG_FILE] [-v] [-y] [-m] [-dr] [-i IMPORT_FILE] [-dn DUMP_NAME] [-kd KEEP_DUMP] [-o HOST_FILE] [-l LOG_FILE] [-cd] [-ta TABLES] [-r] [-t TYPE] [-tp TARGET_PATH]
                    [-tn TARGET_NAME] [-th TARGET_HOST] [-tu TARGET_USER] [-tpw TARGET_PASSWORD] [-tk TARGET_KEY] [-tpo TARGET_PORT] [-tdd TARGET_DUMP_DIR] [-tkd TARGET_KEEP_DUMPS] [-tdn TARGET_DB_NAME]
                    [-tdh TARGET_DB_HOST] [-tdu TARGET_DB_USER] [-tdpw TARGET_DB_PASSWORD] [-tdpo TARGET_DB_PORT] [-tad TARGET_AFTER_DUMP] [-op ORIGIN_PATH] [-on ORIGIN_NAME] [-oh ORIGIN_HOST]
                    [-ou ORIGIN_USER] [-opw ORIGIN_PASSWORD] [-ok ORIGIN_KEY] [-opo ORIGIN_PORT] [-odd ORIGIN_DUMP_DIR] [-okd ORIGIN_KEEP_DUMPS] [-odn ORIGIN_DB_NAME] [-odh ORIGIN_DB_HOST]
                    [-odu ORIGIN_DB_USER] [-odpw ORIGIN_DB_PASSWORD] [-odpo ORIGIN_DB_PORT] [-fpw] [-ur] [-uro USE_RSYNC_OPTIONS]
                    [origin] [target]

A tool for automatic database synchronization from and to host systems.

positional arguments:
  origin                Origin database defined in host file
  target                Target database defined in host file

optional arguments:
  -h, --help            show this help message and exit
  -f CONFIG_FILE, --config-file CONFIG_FILE
                        Path to configuration file
  -v, --verbose         Enable extended console output
  -y, --yes             Skipping user confirmation for database import
  -m, --mute            Mute console output
  -dr, --dry-run        Testing process without running database export, transfer or import.
  -i IMPORT_FILE, --import-file IMPORT_FILE
                        Import database from a specific file dump
  -dn DUMP_NAME, --dump-name DUMP_NAME
                        Set a specific dump file name (default is "_[dbname]_[date]")
  -kd KEEP_DUMP, --keep-dump KEEP_DUMP
                        Skipping target import of the database dump and saving the available dump file in the given directory
  -o HOST_FILE, --host-file HOST_FILE
                        Using an additional hosts file for merging hosts information with the configuration file
  -l LOG_FILE, --log-file LOG_FILE
                        File path for creating a additional log file
  -cd, --clear-database
                        Dropping all tables before importing a new sync to get a clean database.
  -ta TABLES, --tables TABLES
                        Defining specific tables to export, e.g. --tables=table1,table2
  -r, --reverse         Reverse origin and target hosts
  -t TYPE, --type TYPE  Defining the framework type [TYPO3, Symfony, Drupal, Wordpress]
  -tp TARGET_PATH, --target-path TARGET_PATH
                        File path to target database credential file depending on the framework type
  -tn TARGET_NAME, --target-name TARGET_NAME
                        Providing a name for the target system
  -th TARGET_HOST, --target-host TARGET_HOST
                        SSH host to target system
  -tu TARGET_USER, --target-user TARGET_USER
                        SSH user for target system
  -tpw TARGET_PASSWORD, --target-password TARGET_PASSWORD
                        SSH password for target system
  -tk TARGET_KEY, --target-key TARGET_KEY
                        File path to SSH key for target system
  -tpo TARGET_PORT, --target-port TARGET_PORT
                        SSH port for target system
  -tdd TARGET_DUMP_DIR, --target-dump-dir TARGET_DUMP_DIR
                        Directory path for database dump file on target system
  -tkd TARGET_KEEP_DUMPS, --target-keep-dumps TARGET_KEEP_DUMPS
                        Keep dump file count for target system
  -tdn TARGET_DB_NAME, --target-db-name TARGET_DB_NAME
                        Database name for target system
  -tdh TARGET_DB_HOST, --target-db-host TARGET_DB_HOST
                        Database host for target system
  -tdu TARGET_DB_USER, --target-db-user TARGET_DB_USER
                        Database user for target system
  -tdpw TARGET_DB_PASSWORD, --target-db-password TARGET_DB_PASSWORD
                        Database password for target system
  -tdpo TARGET_DB_PORT, --target-db-port TARGET_DB_PORT
                        Database port for target system
  -tad TARGET_AFTER_DUMP, --target-after-dump TARGET_AFTER_DUMP
                        Additional dump file to insert after the regular database import
  -op ORIGIN_PATH, --origin-path ORIGIN_PATH
                        File path to origin database credential file depending on the framework type
  -on ORIGIN_NAME, --origin-name ORIGIN_NAME
                        Providing a name for the origin system
  -oh ORIGIN_HOST, --origin-host ORIGIN_HOST
                        SSH host to origin system
  -ou ORIGIN_USER, --origin-user ORIGIN_USER
                        SSH user for origin system
  -opw ORIGIN_PASSWORD, --origin-password ORIGIN_PASSWORD
                        SSH password for origin system
  -ok ORIGIN_KEY, --origin-key ORIGIN_KEY
                        File path to SSH key for origin system
  -opo ORIGIN_PORT, --origin-port ORIGIN_PORT
                        SSH port for origin system
  -odd ORIGIN_DUMP_DIR, --origin-dump-dir ORIGIN_DUMP_DIR
                        Directory path for database dump file on origin system
  -okd ORIGIN_KEEP_DUMPS, --origin-keep-dumps ORIGIN_KEEP_DUMPS
                        Keep dump file count for origin system
  -odn ORIGIN_DB_NAME, --origin-db-name ORIGIN_DB_NAME
                        Database name for origin system
  -odh ORIGIN_DB_HOST, --origin-db-host ORIGIN_DB_HOST
                        Database host for origin system
  -odu ORIGIN_DB_USER, --origin-db-user ORIGIN_DB_USER
                        Database user for origin system
  -odpw ORIGIN_DB_PASSWORD, --origin-db-password ORIGIN_DB_PASSWORD
                        Database password for origin system
  -odpo ORIGIN_DB_PORT, --origin-db-port ORIGIN_DB_PORT
                        Database port for origin system
  -fpw, --force-password
                        Force password user query
  -ur, --use-rsync      Use rsync as transfer method
  -uro USE_RSYNC_OPTIONS, --use-rsync-options USE_RSYNC_OPTIONS
                        Additional rsync options
  -w WHERE, --where WHERE
                        Additional where clause for mysql dump to sync only selected rows, e.g. --where="deleted=0"
  -amo OPTIONS, --additional-mysqldump-options OPTIONS
                        Additional mysqldump options for creating the database dump, e.g. --additional-mysqldump-options="--where="deleted=0"
```

If you haven't declared a path to a SSH key, during the script execution you are requested to enter the SSH password for the given user in the shell argument or the `config.json` to enable a SSH connection for the remote system. 

### Import

You can import the python package and use them inside your project:

```python
from db_sync_tool import sync

if __name__ == "__main__":
    sync.Sync(config={}, args*)
```

## Configuration

You can configure the script with [shell arguments](#shell-arguments) or using a separate configuration file.

### Configuration File

The `config.json` contains important information about the origin and the target system. In dependence on the given configuration the [synchronisation mode](docs/MODE.md) is implicitly selected.

Example structure of a `config.yml` for a Symfony system in receiver mode (`path` defines the location of the Symfony database configuration file):
```yaml
type: Symfony
origin:
    host: 192.87.33.123
    user: ssh_demo_user
    path: /var/www/html/project/shared/.env
target:
    path: /var/www/html/app/.env
```

It is possible to adjust the `config.yml` [configuration](docs/CONFIG.md).

## File sync

There is an addon script available to sync files to. Use the [file-sync-tool](https://github.com/jackd248/file-sync-tool) to easily transfer files between origin and target system. 

## Release Guide

A detailed guide is available to release a new version. See [here](docs/RELEASE.md).

## Tests

A docker container set up is available for testing purpose. See [here](tests/README.md).

## Support

If you like the project, feel free to support the development.

<a href="https://www.buymeacoffee.com/konradmichalik" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-green.png" alt="Buy Me A Coffee" height="41" width="174"></a>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jackd248/db-sync-tool",
    "name": "db-sync-tool-kmi",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.5",
    "maintainer_email": null,
    "keywords": null,
    "author": "Konrad Michalik",
    "author_email": "support@konradmichalik.eu",
    "download_url": "https://files.pythonhosted.org/packages/d2/98/6f22dfc4e2fdcd0129b4a3023b2f1d38bf66862d94f131f7a99358dac710/db_sync_tool-kmi-2.11.4.tar.gz",
    "platform": null,
    "description": "# db sync tool\n\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/db_sync_tool-kmi)\n![PyPI](https://img.shields.io/pypi/v/db_sync_tool-kmi)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/jackd248/db-sync-tool/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/jackd248/db-sync-tool/?branch=master)\n[![Build Status](https://scrutinizer-ci.com/g/jackd248/db-sync-tool/badges/build.png?b=master)](https://scrutinizer-ci.com/g/jackd248/db-sync-tool/build-status/master)\n\nPython script to synchronize a database from an origin to a target system with automatic database credential extraction depending on the selected framework.\n\n## Features\n\n- __Database sync__ from and to a remote system\n  - [MySQL](https://www.mysql.com/) (>= 5.5)\n  - [MariaDB](https://mariadb.org/) (>= 10.0)\n- __Proxy mode__ between two remote systems\n- Several [synchronisation modes](docs/MODE.md)\n- Automatic database __credential extraction__ using a supported framework\n    - [TYPO3](https://typo3.org/) (>= v7.6)\n    - [Symfony](https://symfony.com/) (>= v2.8)\n    - [Drupal](https://www.drupal.org/) (>= v8.0)\n    - [Wordpress](https://wordpress.org) (>= v5.0)\n    - [Laravel](https://laravel.com/) (>= v4.0)\n- Easily dump creation (database __backup__)\n- __Cleanup__ feature for backups\n- Extended __logging__ capabilities\n- Many more possibilities for [customization](docs/CONFIG.md)\n\n## Installation\n\n### Prerequisite\n\nThe script needs [python](https://python.org/) __3.5__ or higher. It is necessary for some additional functionalities to have [pip](https://pypi.org/project/pip/) installed on your local machine. \n\n<a name=\"install-pip\"></a>\n### pip\nThe library can be installed from [PyPI](https://pypi.org/project/db-sync-tool-kmi/):\n```bash\n$ pip3 install db-sync-tool-kmi\n```\n\n<a name=\"install-composer\"></a>\n### composer\nWhile using the script within the PHP framework context, the script is available via [packagist.org](https://packagist.org/packages/kmi/db-sync-tool) using composer:\n\n```bash\n$ composer require kmi/db-sync-tool\n```\n\nAdditionally install the python requirements via the following pip command:\n\n````bash\n$ pip3 install -e vendor/kmi/db-sync-tool/\n````\n\n## Quickstart\n\nDetailed instructions for:\n\n- [Manual database sync](docs/quickstart/START.md)\n- [TYPO3 database sync](docs/quickstart/TYPO3.md)\n- [Symfony database sync](docs/quickstart/SYMFONY.md)\n- [Drupal database sync](docs/quickstart/DRUPAL.md)\n- [Wordpress database sync](docs/quickstart/WORDPRESS.md)\n\nIf you want to have an inside in more configuration examples, see the [test scenarios](tests/scenario). \n\n## Usage\n\n### Command line\n\nRun the python script via command line.\n\nInstalled via [pip](#install-pip):\n```bash\n$ db_sync_tool\n```\n\nInstalled via [composer](#install-composer):\n```bash\n$ python3 vendor/kmi/db-sync-tool/db_sync_tool\n```\n\n![Example receiver](docs/images/db-sync-tool-example-receiver.gif)\n\n<a name=\"shell-arguments\"></a>\n#### Shell arguments\n\n```bash\nusage: db_sync_tool [-h] [-f CONFIG_FILE] [-v] [-y] [-m] [-dr] [-i IMPORT_FILE] [-dn DUMP_NAME] [-kd KEEP_DUMP] [-o HOST_FILE] [-l LOG_FILE] [-cd] [-ta TABLES] [-r] [-t TYPE] [-tp TARGET_PATH]\n                    [-tn TARGET_NAME] [-th TARGET_HOST] [-tu TARGET_USER] [-tpw TARGET_PASSWORD] [-tk TARGET_KEY] [-tpo TARGET_PORT] [-tdd TARGET_DUMP_DIR] [-tkd TARGET_KEEP_DUMPS] [-tdn TARGET_DB_NAME]\n                    [-tdh TARGET_DB_HOST] [-tdu TARGET_DB_USER] [-tdpw TARGET_DB_PASSWORD] [-tdpo TARGET_DB_PORT] [-tad TARGET_AFTER_DUMP] [-op ORIGIN_PATH] [-on ORIGIN_NAME] [-oh ORIGIN_HOST]\n                    [-ou ORIGIN_USER] [-opw ORIGIN_PASSWORD] [-ok ORIGIN_KEY] [-opo ORIGIN_PORT] [-odd ORIGIN_DUMP_DIR] [-okd ORIGIN_KEEP_DUMPS] [-odn ORIGIN_DB_NAME] [-odh ORIGIN_DB_HOST]\n                    [-odu ORIGIN_DB_USER] [-odpw ORIGIN_DB_PASSWORD] [-odpo ORIGIN_DB_PORT] [-fpw] [-ur] [-uro USE_RSYNC_OPTIONS]\n                    [origin] [target]\n\nA tool for automatic database synchronization from and to host systems.\n\npositional arguments:\n  origin                Origin database defined in host file\n  target                Target database defined in host file\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -f CONFIG_FILE, --config-file CONFIG_FILE\n                        Path to configuration file\n  -v, --verbose         Enable extended console output\n  -y, --yes             Skipping user confirmation for database import\n  -m, --mute            Mute console output\n  -dr, --dry-run        Testing process without running database export, transfer or import.\n  -i IMPORT_FILE, --import-file IMPORT_FILE\n                        Import database from a specific file dump\n  -dn DUMP_NAME, --dump-name DUMP_NAME\n                        Set a specific dump file name (default is \"_[dbname]_[date]\")\n  -kd KEEP_DUMP, --keep-dump KEEP_DUMP\n                        Skipping target import of the database dump and saving the available dump file in the given directory\n  -o HOST_FILE, --host-file HOST_FILE\n                        Using an additional hosts file for merging hosts information with the configuration file\n  -l LOG_FILE, --log-file LOG_FILE\n                        File path for creating a additional log file\n  -cd, --clear-database\n                        Dropping all tables before importing a new sync to get a clean database.\n  -ta TABLES, --tables TABLES\n                        Defining specific tables to export, e.g. --tables=table1,table2\n  -r, --reverse         Reverse origin and target hosts\n  -t TYPE, --type TYPE  Defining the framework type [TYPO3, Symfony, Drupal, Wordpress]\n  -tp TARGET_PATH, --target-path TARGET_PATH\n                        File path to target database credential file depending on the framework type\n  -tn TARGET_NAME, --target-name TARGET_NAME\n                        Providing a name for the target system\n  -th TARGET_HOST, --target-host TARGET_HOST\n                        SSH host to target system\n  -tu TARGET_USER, --target-user TARGET_USER\n                        SSH user for target system\n  -tpw TARGET_PASSWORD, --target-password TARGET_PASSWORD\n                        SSH password for target system\n  -tk TARGET_KEY, --target-key TARGET_KEY\n                        File path to SSH key for target system\n  -tpo TARGET_PORT, --target-port TARGET_PORT\n                        SSH port for target system\n  -tdd TARGET_DUMP_DIR, --target-dump-dir TARGET_DUMP_DIR\n                        Directory path for database dump file on target system\n  -tkd TARGET_KEEP_DUMPS, --target-keep-dumps TARGET_KEEP_DUMPS\n                        Keep dump file count for target system\n  -tdn TARGET_DB_NAME, --target-db-name TARGET_DB_NAME\n                        Database name for target system\n  -tdh TARGET_DB_HOST, --target-db-host TARGET_DB_HOST\n                        Database host for target system\n  -tdu TARGET_DB_USER, --target-db-user TARGET_DB_USER\n                        Database user for target system\n  -tdpw TARGET_DB_PASSWORD, --target-db-password TARGET_DB_PASSWORD\n                        Database password for target system\n  -tdpo TARGET_DB_PORT, --target-db-port TARGET_DB_PORT\n                        Database port for target system\n  -tad TARGET_AFTER_DUMP, --target-after-dump TARGET_AFTER_DUMP\n                        Additional dump file to insert after the regular database import\n  -op ORIGIN_PATH, --origin-path ORIGIN_PATH\n                        File path to origin database credential file depending on the framework type\n  -on ORIGIN_NAME, --origin-name ORIGIN_NAME\n                        Providing a name for the origin system\n  -oh ORIGIN_HOST, --origin-host ORIGIN_HOST\n                        SSH host to origin system\n  -ou ORIGIN_USER, --origin-user ORIGIN_USER\n                        SSH user for origin system\n  -opw ORIGIN_PASSWORD, --origin-password ORIGIN_PASSWORD\n                        SSH password for origin system\n  -ok ORIGIN_KEY, --origin-key ORIGIN_KEY\n                        File path to SSH key for origin system\n  -opo ORIGIN_PORT, --origin-port ORIGIN_PORT\n                        SSH port for origin system\n  -odd ORIGIN_DUMP_DIR, --origin-dump-dir ORIGIN_DUMP_DIR\n                        Directory path for database dump file on origin system\n  -okd ORIGIN_KEEP_DUMPS, --origin-keep-dumps ORIGIN_KEEP_DUMPS\n                        Keep dump file count for origin system\n  -odn ORIGIN_DB_NAME, --origin-db-name ORIGIN_DB_NAME\n                        Database name for origin system\n  -odh ORIGIN_DB_HOST, --origin-db-host ORIGIN_DB_HOST\n                        Database host for origin system\n  -odu ORIGIN_DB_USER, --origin-db-user ORIGIN_DB_USER\n                        Database user for origin system\n  -odpw ORIGIN_DB_PASSWORD, --origin-db-password ORIGIN_DB_PASSWORD\n                        Database password for origin system\n  -odpo ORIGIN_DB_PORT, --origin-db-port ORIGIN_DB_PORT\n                        Database port for origin system\n  -fpw, --force-password\n                        Force password user query\n  -ur, --use-rsync      Use rsync as transfer method\n  -uro USE_RSYNC_OPTIONS, --use-rsync-options USE_RSYNC_OPTIONS\n                        Additional rsync options\n  -w WHERE, --where WHERE\n                        Additional where clause for mysql dump to sync only selected rows, e.g. --where=\"deleted=0\"\n  -amo OPTIONS, --additional-mysqldump-options OPTIONS\n                        Additional mysqldump options for creating the database dump, e.g. --additional-mysqldump-options=\"--where=\"deleted=0\"\n```\n\nIf you haven't declared a path to a SSH key, during the script execution you are requested to enter the SSH password for the given user in the shell argument or the `config.json` to enable a SSH connection for the remote system. \n\n### Import\n\nYou can import the python package and use them inside your project:\n\n```python\nfrom db_sync_tool import sync\n\nif __name__ == \"__main__\":\n    sync.Sync(config={}, args*)\n```\n\n## Configuration\n\nYou can configure the script with [shell arguments](#shell-arguments) or using a separate configuration file.\n\n### Configuration File\n\nThe `config.json` contains important information about the origin and the target system. In dependence on the given configuration the [synchronisation mode](docs/MODE.md) is implicitly selected.\n\nExample structure of a `config.yml` for a Symfony system in receiver mode (`path` defines the location of the Symfony database configuration file):\n```yaml\ntype: Symfony\norigin:\n    host: 192.87.33.123\n    user: ssh_demo_user\n    path: /var/www/html/project/shared/.env\ntarget:\n    path: /var/www/html/app/.env\n```\n\nIt is possible to adjust the `config.yml` [configuration](docs/CONFIG.md).\n\n## File sync\n\nThere is an addon script available to sync files to. Use the [file-sync-tool](https://github.com/jackd248/file-sync-tool) to easily transfer files between origin and target system. \n\n## Release Guide\n\nA detailed guide is available to release a new version. See [here](docs/RELEASE.md).\n\n## Tests\n\nA docker container set up is available for testing purpose. See [here](tests/README.md).\n\n## Support\n\nIf you like the project, feel free to support the development.\n\n<a href=\"https://www.buymeacoffee.com/konradmichalik\" target=\"_blank\"><img src=\"https://cdn.buymeacoffee.com/buttons/default-green.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"></a>\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Synchronize a database from and to host systems.",
    "version": "2.11.4",
    "project_urls": {
        "Homepage": "https://github.com/jackd248/db-sync-tool"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9f739d4b7c028fc2f079c952f8bfa1c5dda0c559c2a6b76a7c8e4fd17a791950",
                "md5": "6e1fef8ae2da6be7518eb9f25940b415",
                "sha256": "792d2d32812888d0b17d33e532121a92ff7dfff6d26fdb90da327005dd78a46f"
            },
            "downloads": -1,
            "filename": "db_sync_tool_kmi-2.11.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6e1fef8ae2da6be7518eb9f25940b415",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.5",
            "size": 39925,
            "upload_time": "2024-03-20T10:25:49",
            "upload_time_iso_8601": "2024-03-20T10:25:49.655399Z",
            "url": "https://files.pythonhosted.org/packages/9f/73/9d4b7c028fc2f079c952f8bfa1c5dda0c559c2a6b76a7c8e4fd17a791950/db_sync_tool_kmi-2.11.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d2986f22dfc4e2fdcd0129b4a3023b2f1d38bf66862d94f131f7a99358dac710",
                "md5": "09c68bf896f1d6e16fa7833ca5360ba5",
                "sha256": "2d803a9cdba82436f05dae85025a246aef96ef16f1bab04187c25ddaf36523d9"
            },
            "downloads": -1,
            "filename": "db_sync_tool-kmi-2.11.4.tar.gz",
            "has_sig": false,
            "md5_digest": "09c68bf896f1d6e16fa7833ca5360ba5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.5",
            "size": 33146,
            "upload_time": "2024-03-20T10:25:53",
            "upload_time_iso_8601": "2024-03-20T10:25:53.762298Z",
            "url": "https://files.pythonhosted.org/packages/d2/98/6f22dfc4e2fdcd0129b4a3023b2f1d38bf66862d94f131f7a99358dac710/db_sync_tool-kmi-2.11.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-20 10:25:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jackd248",
    "github_project": "db-sync-tool",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "db-sync-tool-kmi"
}
        
Elapsed time: 0.23047s