From ecd1199342c5d5e604fc34cb6b07cb89baa16245 Mon Sep 17 00:00:00 2001 From: Majid alDosari Date: Wed, 1 Jan 2025 22:18:23 -0500 Subject: [PATCH] two execs --- src/rdf_engine/__init__.py | 2 +- src/rdf_engine/program.py | 14 ++++++++------ test/test.py | 15 ++++++++++++++- uv.lock | 2 +- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/rdf_engine/__init__.py b/src/rdf_engine/__init__.py index 3e0fd86..be3ca63 100644 --- a/src/rdf_engine/__init__.py +++ b/src/rdf_engine/__init__.py @@ -1,3 +1,3 @@ -__version__ = "190" +__version__ = "191" from .engine import Engine, logger \ No newline at end of file diff --git a/src/rdf_engine/program.py b/src/rdf_engine/program.py index 183396b..065ae89 100644 --- a/src/rdf_engine/program.py +++ b/src/rdf_engine/program.py @@ -39,16 +39,18 @@ def mk(cls, i: dict) -> Rule: # OO sucks #class Engine(Engine): # ❌ class Engine: # ✔️ - from inspect import signature as sig - from .engine import Engine - args = {p:v.annotation - for p,v in sig(Engine.__init__).parameters.items() - if p not in {'self', }} + @classmethod + def args(cls): + from inspect import signature as sig + from .engine import Engine + return {p:v.annotation + for p,v in sig(Engine.__init__).parameters.items() + if p not in {'self', }} @classmethod def mk(cls, i: dict): assert(isinstance(i, dict)) - args = cls.args + args = cls.args() if i['deanon'] == False: args.pop('deanon_uri') if i['log'] == False: args.pop('log_print') chkdct(i, args) diff --git a/test/test.py b/test/test.py index f79afeb..ce5dcc0 100644 --- a/test/test.py +++ b/test/test.py @@ -89,6 +89,20 @@ def test_prog(): _ = { 'db': db, 'execs': [ + {'params': { + 'MAX_NCYCLES': 5, + 'canon': True, + 'deanon': False, + 'log': True, + 'log_print': True, + }, + 'rules': [ + { + 'module': 'test.py', 'maker': 'Quads', + 'params': {'n': 1, 'rand': False, 'graph': None, 'anon': False, 'nested': False} + } + ] + }, {'params': { 'MAX_NCYCLES': 5, 'canon': True, @@ -111,5 +125,4 @@ def test_prog(): if __name__ == '__main__': - from rdf_engine.program import Engine test_prog() diff --git a/uv.lock b/uv.lock index 8a64831..2135857 100644 --- a/uv.lock +++ b/uv.lock @@ -345,7 +345,7 @@ wheels = [ [[package]] name = "rdf-engine" -version = "190" +version = "191" source = { editable = "." } dependencies = [ { name = "pyoxigraph" },