Skip to main content

Table Data Sync

Project description

TABDANC (Table Data Sync)

Tabdanc is a library that maintain and manage latest data.

Main Feature compares the .csv data stored in the database with the .csv file in local repository and if they are different, update the table with the latest data. (In this case, the latest data is the data in local repository)

Local repository must exist files, .csv, .meta, .td.
(If any of the three files is not exist, it will not be updated)

  • .csv: .csv file is the data file you want to maintain and manage.
  • .meta: .meta file is a json file in which the table name where the csv should be saved is written.
    • .meta file name must be the same as the .csv file name
    • column_match is an optional value. Set column_match when csv header and table column are different.
    • An error occurs if the csv_header is not in the .csv file or the table_column is not in the .td file.
    {
      "table_name": "table_name",
      "column_match": {
        "csv_header": "table_column",
        ...
      }
    }
    
  • .td: .td file is a json file in which table schema definitions(column name, coulmn type) are written.
    • .td file name must be the same as the table name
    {
      "columns": [
        {
          "name": "column_name1",
          "type": "int4"
        },
        {
          "name": "column_name2",
          "type": "varchar(255)"
        },
        ...
      ]
    }
    

There is one .td file per table, and multiple .csv files can be entered in one table. In this case, .meta files are created as many as the number of .csv files, and one .td file is created.

Additional Feature is that data files can be uploaded and downloaded by ssh connection between local repository and remote repository.

Getting Started

Built With

  • Python >= 3.8

Installation

$ pip install tabdanc

Usage

Command Help

# help tabdanc command
$ tabdanc -h

Config Settings

First, you need to set config to use tabdanc

# help
$ tabdanc config -h

# create config file 
$ tabdanc config --create

# show config information
$ tabdanc config --list

# update config file
$ tabdanc config --update {section.option} {value}

Table Update

You can use the update command to add the csv file to your database.
If the csv file stored in the database is changed, the changed csv file is updated to the database using the update command.

# help
$ tabdanc update -h

# update table
$ tabdanc update

File Upload / Download

When upload or download through the '-f' option, enter only the file name without the extension.
When enter upload or download command, files related to the file name are upload or download. ex) .csv .meta .td

Upload

If you use the upload command, you can upload files from the local repository to the remote repository.

# help
$ tabdanc upload -h

# upload all files
$ tabdanc upload -a

# upload one file
$ tabdanc upload -f file_name

# upload multiple files
$ tabdanc upload -f file_name1 file_name2

Download

If you use the download command, you can download files from the remote repository to the local repository.

# help
$ tabdanc download -h

# download all files
$ tabdanc download -a

# download one file
$ tabdanc download -f file_name

# download multiple files
$ tabdanc download -f file_name1 file_name2

Contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tabdanc-0.0.3-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file tabdanc-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: tabdanc-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.6

File hashes

Hashes for tabdanc-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 04182af31f09a7baa5d77bca9b5823cbaf19b79e5ef2a9bc56fb8aae47b9bb06
MD5 81b8b0678580fd1f33625d5def98d8e8
BLAKE2b-256 a279d084a707655007a1b2eba41fff6302cfe9436b6f948615ae48770c9289b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page