Skip to content
/ ekg-lib Public

A Python library for EKG DataOps operations

License

Notifications You must be signed in to change notification settings

EKGF/ekg-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

218 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ekg-lib

A Python Library for various tasks in an EKG DataOps operation.

Badges

PyPI version Build & Test License: MIT Python 3.14+ uv Linting & Formatting: ruff Type checking: mypy

Metadata Parsers

Capture Steps

Maturity Model Tools

Pipelines and Export

LDAP Variants

Storage and Data Access

Knowledge Graph and SPARQL Utilities

Core Utilities

Installation

From PyPI (recommended)

pip install ekg-lib

Or using uv:

uv add ekg-lib

From GitHub

Add ekg-lib as a dependency from GitHub:

uv add --git https://github.com/EKGF/ekg-lib.git

Or using pip:

pip install "git+https://github.com/EKGF/ekg-lib.git"

CLI tools

After installation, the following CLI tools are available:

xlsx-parser --help
user-story-parser --help
pipeline-example --help

To install as global commands using uv:

uv tool install ekg-lib

Environment variables

ekg-lib uses dotenvage to load environment variables from .env files with optional age encryption of sensitive values.

All CLI entry points (xlsx-parser, user-story-parser, pipeline-example) call load_env() at startup, which discovers and loads .env* files before any os.getenv() calls.

To use encrypted secrets:

# Install the dotenvage CLI
cargo binstall dotenvage

# Generate an age key (stored in ~/.local/state/)
dotenvage keygen

# Encrypt sensitive values in your .env file
dotenvage encrypt .env.local

Encrypted values are safe to commit to version control. See the dotenvage documentation for details on file layering, key management, and CI/CD integration.

Development setup (from source)

If you cloned this repository and want to work on ekg-lib itself:

uv sync

This creates a virtual environment using uv based on pyproject.toml.

Tests

To run all tests:

uv run pytest

To run a single test:

uv run pytest tests/<path-to-test> -k <name-of-test>

Packaging

uv build

Sponsor this project

 

Contributors 8