mirror of
https://github.com/hanzo-ds/connect.git
synced 2026-10-30 20:31:24 +00:00
* migrate from pylint to ruff * ruff format/lint switch over * add formatting commit * update changelog
37 lines
1.1 KiB
Python
Executable File
37 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
# This script is used for validating installed entrypoints. Note that it fails on Python 3.7
|
|
import sys
|
|
from importlib.metadata import PackageNotFoundError, distribution
|
|
|
|
EXPECTED_EPS = {"sqlalchemy.dialects:clickhousedb", "sqlalchemy.dialects:clickhousedb.connect"}
|
|
|
|
|
|
def validate_entrypoints():
|
|
expected_eps = EXPECTED_EPS.copy()
|
|
try:
|
|
dist = distribution("clickhouse-connect")
|
|
except PackageNotFoundError:
|
|
print("\nClickHouse Connect package not found in this Python installation")
|
|
return -1
|
|
print()
|
|
for entry_point in dist.entry_points:
|
|
name = f"{entry_point.group}:{entry_point.name}"
|
|
print(f" {name}={entry_point.value}")
|
|
try:
|
|
expected_eps.remove(name)
|
|
except KeyError:
|
|
print(f"\nUnexpected entry point {name} found")
|
|
return -1
|
|
if expected_eps:
|
|
print()
|
|
for name in expected_eps:
|
|
print(f"Did not find expected ep {name}")
|
|
return -1
|
|
print("\nEntrypoints correctly installed")
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(validate_entrypoints())
|