poetry2nix/hooks/pyproject-without-path.py

26 lines
491 B
Python
Raw Normal View History

#!/usr/bin/env python
# Patch out path dependencies from a pyproject.json file
import json
import sys
data = json.load(sys.stdin)
def get_deep(o, path):
for p in path.split('.'):
o = o.get(p, {})
return o
for dep in get_deep(data, 'tool.poetry.dependencies').values():
if isinstance(dep, dict):
try:
del dep['path'];
except KeyError:
pass
else:
dep['version'] = '*'
json.dump(data, sys.stdout, indent=4)