PNG is a CLI program created to generate unique IDs for Harmony's project report sheets. It allows you to manage teams, work types, and projects by adding and listing them in a SQLite database.
- Build from the source or download the
png.exefile from the releases page. - Create a
pngdirectory inC:\Program Files(or any other directory) and placepng.exethere.
The first step is to open a terminal window in the directory where png.exe is located. Then you can use PNG via an interactive prompt or invoking commands. Both options are functionally the same, aside from the fact you can't specify a database when using the interactive prompt.
To start the interactive prompt, run PNG without parameters:
./pngUse the arrow keys to navigate the options and press enter to select one.
Alternatively, execute a command directly. For example:
./png team listThe Features section will delve deeper into the options available in both cases.
You can add a new project by providing a team and work type, and PNG will generate and return its unique ID. All IDs are formatted as: AAA-BB-#, where:
AAAis a three-uppercase letter code identifying the team responsible for the projectBBis a two-uppercase letter code identifying the type of work#is a unique number
Interactive prompt:
- Select
add a new project. - Type the team's name and press enter.
- Type the work type and press enter.
- The project is created and its ID is returned.
⚠️ Notice that the CLI won't accept inputs with the wrong format (team names with four letters), but it will accept teams and work types that are not in the database (it will return a "not found" error).
CLI:
./png project add -t ABC -w XYUse this command to list all projects in no particular order.
Interactive prompt:
- Select
list all projects. - PNG returns a list of all project IDs.
CLI:
./png project listUse this command to add a new team. Make sure its name contains only three uppercase letters.
Interactive prompt:
- Select
add a new team. - Type the team's name and press enter.
- PNG returns a success message.
CLI:
./png team add ABCUse this command to list all available teams in no particular order.
Interactive prompt:
- Select
list all teams. - PNG returns a list of all teams.
CLI:
./png team listUse this command to add a new work type. Make sure its name contains only two uppercase letters.
Interactive prompt:
- Select
add a new work type. - Type the work type’s name and press enter.
- PNG returns a success message.
CLI:
./png worktype add XYUse this command to list all available work types in no particular order.
Interactive prompt:
- Select
list all work types. - PNG returns a list of all work types.
CLI:
./png worktype listBy default, the PNG CLI uses a SQLite database file named png.sqlite. This file will be automatically created in the same directory the executable is located and should be backed up periodically to avoid data loss.
For convenience, the database comes preloaded with the following teams and work types:
- Teams
- FOR (Formulation) – Everything related to the assembly of the final product.
- ANA (Analytical) – Characterization of ingredients, proteins, and evaluation of processing effects on ingredients.
- MIC (Microbiology) – Everything related to microbiota growth response.
- PRO (Protein) – From strain development to production, not including characterization.
- Types of work
- MA (Mechanism of Action).
- ES (Emulsion Studies).
- IC (Ingredient Characterization).
- PT (Prototypes).
- PP (Production Process).
Optionally, it is possible to execute commands in a different database file using the --db flag.
Example:
./png project list --db /path/to/another/database.sqliteThis project is licensed under the MIT License. See the LICENSE file for details.