Skip to main content

vmklib (2.0.12)

python Build Status codecov PyPI - Status Dependents (via libraries.io)

Simplify project workflows by standardizing use of GNU Make.

Consider sponsoring development.

(interface documentation)

Python Version Support

This package is tested with the following Python minor versions:

Platform Support

This package is tested on the following platforms:

  • ubuntu-latest
  • macos-latest
  • windows-latest

Introduction

This tool integrates with existing Makefile's with zero additional content or bootstrapping required.

There are many choices in technology or products for performing static analysis on source code, building test infrastructure, or managing local development environments. These are only a small subset of common, developer tasks when building software. This package intends to aggregate recipes (and their dependency relationships) for these tasks so that they can be integrated into a project without re-building this infrastructure. Lessons learned and improvements in each project can be back-propagated everywhere else with simple package updates.

Command-line Options

$ ./venv3.14/bin/mk -h

usage: mk [-h] [--version] [-v] [-q] [--curses] [--no-uvloop] [-C DIR]
          [-p PREFIX] [-d] [-D DEFAULT] [-f FILE] [-c CONFIG] [-P PROJ]
          [targets ...]

Simplify project workflows by standardizing use of GNU Make.

positional arguments:
  targets               targets to execute

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -v, --verbose         set to increase logging verbosity
  -q, --quiet           set to reduce output
  --curses              whether or not to use curses.wrapper when starting
  --no-uvloop           whether or not to disable uvloop as event loop driver
  -C, --dir DIR         execute from a specific directory
  -p, --prefix PREFIX   a prefix to apply to all targets
  -d, --disable-make    whether or not to allow GNU Make target resolution
                        (default: 'False')
  -D, --default DEFAULT
                        default target to make if none is specified (default:
                        'all')
  -f, --file FILE       file to source user-provided recipes from (default:
                        'Makefile')
  -c, --config CONFIG   file to source user-provided variable definitions,
                        ahead of loading package makefiles (default:
                        'vmklib.json')
  -P, --proj PROJ       project name for internal variable use

Targets

Note that the full invocation for a target's command is:

mk [options] <prefix>-<command> [ARG1=val1 ARG2=val2]

datazen

Targets for use with the datazen package.

Prefix: dz-

Optional Arguments

DZ_DIR - Optionally override the -C argument.

DZ_MANIFEST - Optionally provide a non-default manifest file to -m.

DZ_VERBOSE - Setting this passes -v as an additional argument.

Commands

sync - Run dz, executing the default target.

clean - Run dz with -c to clean the cache.

describe - Run dz with -d to describe cache contents.

install - Install datazen in the resolved virtual environment (with pip). This depends on a "concrete" underlying target that allows it to be installed only once.

upgrade - Upgrade datazen in the resolved virtual environment (with pip).

grip

Targets for rendering GitHub Markdown with grip.

Prefix: grip-

Optional Arguments

SECRETHUB_GRIP_PATH - The full path for the secrethub read command to source a GitHub personal access token from, requires secrethub.

GRIP_PORT - The host:port String to serve the rendered results on.

GRIP_ENV - Output file to write to for sourcing credentials.

GRIP_FILE - The file to render, path is relative to project root.

Commands

check-env - Checks that GRIP_TOKEN is set in the environment, errors if not.

render - Serve README.md with grip.

pypi

Targets for uploading packages to PyPI.

Prefix: pypi-

Optional Arguments

UPLOAD_ENV - Output file to write to for sourcing credentials.

SECRETHUB_PYPI_PATH - The full path for the secrethub read command to source a PyPI API token from, requires secrethub.

Commands

check-env - Enforces that TWINE_USERNAME and TWINE_PASSWORD are set in the environment, errors if not.

upload - Attempt to upload everything in dist to PyPI.

python

Targets for executing common, Python workflow tasks.

Prefix: python-

Optional Arguments

PY_LINT_ARGS - Set to override the default, adds the tests directory and PY_LINT_EXTRA_ARGS.

PY_WIDTH - Override (from 79) to set --line-length arguments for formatters.

PY_LINT_EXTRA_ARGS - Set to add additional linting arguments.

PYTEST_ARGS - Set to override the default, additional pytest arguments.

PYTEST_EXTRA_ARGS - Add additional arguments to the default set.

PYTHON_COV_PORT - Port to host test-coverage HTML on (using http.server). Defaults to zero.

PY_BUILDER - The target name to use as a python-upload dependency (e.g. python-dist versus python-build). Defaults to python-build.

PY_DOCS_HOST - Host argument passed to pydoc module (-n). Defaults to 0.0.0.0.

PY_DOCS_PORT - Port argument passed to pydoc module (-p). Defaults to 0.

PY_DOCS_EXTRA_ARGS - Extra arguments to pass to the pydoc module.

Commands

lint - Run pylint and flake8 against a project's package sources. Also runs the format checkers.

sa - Run mypy against a project's package sources.

sa-types - Run mypy without checking the result and attempt to install missing type/stub packages.

stubs - Run stubgen against a project's package sources.

format - Run black and isort against a project's package sources.

format-check - Run black with the --check argument and isort with the --check-only argument.

tags - Create a tags file for the project using ctags (must be installed).

edit - Create tags and then open $EDITOR in the project directory.

test - Run all of a project's tests with pytest.

test-% - Run project tests based on a search pattern (i.e. the -k option).

view - Attempt to open the test-coverage HTML with $BROWSER (environment variable).

host-coverage - Host test-coverage HTML locally, with the port specified by PYTHON_COV_PORT.

all - Run lint, sa and test in sequence.

clean - Remove compiled and cached files, test coverage, built package artifacts and other caches.

dist - Build sdist and bdist_wheel with setup.py in the project root.

build - Build the package with python -m build.

dist-with-stubs - Build sdist and bdist_wheel with setup.py in the project root, this also runs stubgen ahead of packaging so that stubs are included in the source distribution and wheel.

upload - Use twine to upload the built package to PyPI.

editable - Install the project's package in editable mode (-e option) to the virtual environment.

docs - Run the pydoc module and host HTML documentation via an arbitrary HTTP port.

docs-% - Run the pydoc module and pass the stem as an argument.

deps - Run pydeps against the project (producing SVG output).

venv

Targets for managing Python virtual environments.

Prefix: (no prefix)

Optional Arguments

PYTHON_VERSION - The version of Python to create a virtual environment for. (default: 3.8)

REQUIREMENTS_DIR - The location of the directory containing requirements files. (default: requirements in the project root)

REQ_FILES - Text files to install requirements from (using -r), in the requirements directory. (default: requirements.txt and dev_requirements.txt)

Commands

venv - Create or update the resolved virtual environment, if necessary.

venv-clean - Remove any virtual environments from the project root (or sub-directories).

vmklib

Targets related to this package, itself.

Prefix: mk-

Commands

upgrade - Upgrade (or install) vmklib in the resolved virtual environment.

sys-upgrade - Upgrade (or install) vmklib as a system or user package.

header - Print the Makefile header that should be used when integrating this package.

todo - Perform a case-insensitive search for todo in project directories.

yaml

Targets for interacting with yaml data (files).

Prefix: yaml-

Optional Arguments

YAMLLINT_ARGS - Set to provide arguments to yamllint (such as the path to a config file).

Commands

yaml-lint-install - Install yamllint.

yaml-lint-% - Execute yamllint against $*.

Internal Dependency Graph

A coarse view of the internal structure and scale of vmklib's source. Generated using pydeps (via mk python-deps).

vmklib's Dependency Graph

Metadata

Release files for vmklib 2.0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vmklib 2.0.12
File Size Uploaded
vmklib-2.0.12.tar.gz 1.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for vmklib 2.0.12
File Interpreter ABI Platform
vmklib-2.0.12-py3-none-any.whl Python 3 none any Details

Total release size: 3.5 MB

Release files / vmklib-2.0.12.tar.gz

Download URL vmklib-2.0.12.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
4120bf7e4f5a074b16385f98f93acca50f184877791d778bb728514d709bd770
BLAKE2b-256 checksum
How to use checksums
b8fbc887ed22e1e68a947b22aedd426f12202e3bcaa3df6891bd2c7f94bea237
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / vmklib-2.0.12-py3-none-any.whl

Download URL vmklib-2.0.12-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0f3b819538faed24f3dbd26b866b5fc4dc9a232e1fd50be11e1d7660b2b6d0b3
BLAKE2b-256 checksum
How to use checksums
7fdce750713e786fee6ad1f4e97e97be3b2b1184effff260c8b2b32160f96305
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

2.0.12 This release

2 release files

2.0.11

2 release files

2.0.10

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.10.6

2 release files

1.10.2

2 release files

1.10.1

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.9

2 release files

1.6.8

2 release files

1.6.7

2 release files

1.6.6

2 release files

1.6.5

2 release files

1.6.4

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.18

2 release files

0.4.17

2 release files

0.4.16

2 release files

0.4.15

2 release files

0.4.14

2 release files

0.4.13

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page