Package: zepster
Zepster: Model-Driven Engineering Toolset for DataZepster implementsModel-Driven Engineering (MDE)for data.  It creates a consistent
set of data-related artifacts to drive development withbetter alignment among business stakeholders and developersfewer bugsincreased productivitySummaryZepster lets you:UseEntity-Relationship Modelingto describe entitites, attributes, and the relationships between entities in anEntity-Relationship Diagram (ERD)Convert ERDs into Entity-Relationship Markup Language (ERML) filesGenerate data-related files from the ERML, such as:Relational database schemaDatabase catalogPython enum definitionsDetailsEntity-Relationship Modeling Using yEd Graph EditorFirst, create an ERD for your business use case, usingyEdgraph editor.
The yEd application is free and is available for MacOS, Linux, and Windows.With yEd you can create a diagram that showsbusiness entitiestheir attributeshow entities are related to each otherThe resulting diagram is saved as aGraphMLfile, which is an industry-standard format for graphs.Generate Entity-Relationship Markup Language (ERML) FileNext, generate an Entity-Relationship Markup Language (ERML) file from the
saved GraphML diagram file.  To do this, use thegenermlscript:Usage: generml.py [OPTIONS]

  Read an Entity-Relationship diagram created by the yEd graph editor and
  convert it into Entity-Relationship Markup Language

  References:
  yEd - https://www.yworks.com/products/yed
  GraphML - http://graphml.graphdrawing.org/index.html

Options:
  --input TEXT    Input GraphML file (default is standard input, also
                  represented by a dash "-")
  --output TEXT   Output ERML file (default is standard output, also
                  represented by a dash "-")
  --overwrite     If specified, overwrite the output file if it already exists
  --logging TEXT  Set logging to the specified level: NOTSET, DEBUG, INFO,
                  WARNING, ERROR, CRITICAL
  --help          Show this message and exit.The ERML is an intermediate language that decouples downstream tools (such
as the relational database schema generator) from
the specific graph editor tool (yEd).  In theory, any tool that creates
ERML can serve as an input source for generating downstream files.After generating the ERML file, you can generate a number of things, described below.Generate SQL Relational Database Schema DefinitionsNext, you can generate the schema definitions that define the tables for
a relational database, using SQL.  To do this, use thegenschemascript:Usage: genschema.py [OPTIONS]

  Read an Entity-Relationship Markup Language file and write a database
  schema SQL file

Options:
  --input TEXT    Input Entity-Relationship Markup Language file (default is
                  standard input, also represented by a dash "-")
  --output TEXT   Output schema definition file (default is standard output,
                  also represented by a dash "-")
  --overwrite     If specified, overwrite the output file if it already exists
  --logging TEXT  Set logging to the specified level: NOTSET, DEBUG, INFO,
                  WARNING, ERROR, CRITICAL
  --dialect TEXT  Set the database dialect: (currently only "crdb")
  --help          Show this message and exit.Generate Database Catalog Using MarkdownYou can also generate a database catalog to document the database for users.
The catalog is created using GitHub-flavoredMarkdownformat.  To do this, use thegencatalogscript:Usage: gencatalog.py [OPTIONS]

  Read an Entity-Relationship Markup Language
  file and write a data catalog output file

Options:
  --input TEXT    Input Entity-Relationship Markup Language file (default is
                  standard input, also represented by a dash "-")
  --output TEXT   Output catalog file (default is standard output, also
                  represented by a dash "-")
  --overwrite     If specified, overwrite the output file if it already exists
  --logging TEXT  Set logging to the specified level: NOTSET, DEBUG, INFO,
                  WARNING, ERROR, CRITICAL
  --format TEXT   Set the catalog format: (currently only "md")
  --help          Show this message and exit.Generate Python Enum DefinitionsYou can also generate Python enum definitions from the ERML file.  This can
reduce application bugs.  To do this, use thegenpyenumsscript:Usage: genpyenums.py [OPTIONS]

  Generate Python enum declarations from an Entity-Relationship Markup
  Language (ERML) file

Options:
  --input TEXT    Input Entity-Relationship Markup Language file (default is
                  standard input, also represented by a dash "-")
  --output TEXT   Output schema definition file (default is standard output,
                  also represented by a dash "-")
  --overwrite     If specified, overwrite the output file if it already exists
  --logging TEXT  Set logging to the specified level: NOTSET, DEBUG, INFO,
                  WARNING, ERROR, CRITICAL
  --help          Show this message and exit.Copyright 2020 Cisco Systems, Inc. and its affiliates.Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License