Spaces:
Runtime error
Runtime error
#!/usr/bin/env python3 | |
import sys | |
import pkg_resources | |
EXPECTED_EPS = {'sqlalchemy.dialects:clickhousedb', | |
'sqlalchemy.dialects:clickhousedb.connect'} | |
def validate_entrypoints(): | |
expected_eps = EXPECTED_EPS.copy() | |
try: | |
dist = pkg_resources.get_distribution('clickhouse-connect') | |
except pkg_resources.DistributionNotFound: | |
print ('\nClickHouse Connect package not found in this Python installation') | |
return -1 | |
entry_map = dist.get_entry_map() | |
print() | |
for ep_group, entry_points in entry_map.items(): | |
print (ep_group) | |
for entry_point in entry_points.values(): | |
print (f' {entry_point.name}={entry_point.module_name}.{", ".join(entry_point.attrs)}') | |
name = f'{ep_group}:{entry_point.name}' | |
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()) | |