/cvcsv-cli

CLI for creating CSV files for Cloud Vision API

Primary LanguageTypeScriptMIT LicenseMIT

cvcsv-cli

Language grade: JavaScript Maintainability Test Coverage

npm Commitizen friendly FOSSA Status

ko-fi

This is a tool to make the process of creating the bulk import CSV file for Google Clouds Vision Product Search API a little easier.

Here is the documentation for the formatting the CSV.

Prerequisites

  • Node

  • The data should be organised as follows:

    .
    ├── kitkat
    │   └── chunky
    │       ├── peanut_butter
    │       │   ├── 01.jpg
    │       │   ├── 02.jpg
    │       ├── plain
    │       │   ├── 01.jpg
    │       │   ├── 02.jpg
    │       ├── salted_caramel
    │       │   ├── 01.jpg
    │       │   ├── 02.jpg
    │       │   ├── 03.jpg
    │       └── white
    │           └── 01.png

How to use

npm i -g @allcapsdev/cvcsv-cli

Note: The package is published to Github Package Registry follow these instructions in order to be able to install this package and others from there. (It is also available via NPMJS)

Then once the package has been installed:

cvcsv

The CLI will then ask a few questions relating to the data, i.e. where it is, the GCP bucket name, etc.

The output file will be created in the directory that you provide as the source of the images you wish to add to the csv.

asciicast

Config File

The CLI will read a config file from within the directory that it is executed.

The file should be named .cvcsvrc and the structure is as follows:

{
  "bucketName": "the-name-of-the-gs-bucket-the-sample-images-are-stored",
  "category": false,
  "csvFileLocation": "where-you-would-like-to-save-the-csv-file",
  "csvFilename": "the-name-of-the-file.csv",
  "productCategory": "any-of-the-product-categories-GCP-CV-has",
  "productSet": "the-name-of-your-product-set",
  "rootDirectory": "the-root-directory-of-your-images"
}

You can complete the whole file or you can miss any of the fields out, the CLI will ask you for any that are missing.

category can be false or a number. The number relates to the directories below the root directory. Using the example above kitkat would be 0, chunky = 1, etc.

If no file is there then you will get the full set of questions.