# dkepy — the customer-side Python companion to DKE Python (`.dpy`). # # Distribution name `dkepy`, import name `dke`. The two differ because `dke` is # taken on PyPI by an unrelated project; the import name is the one that # appears in customer code, so it is the one that was worth keeping. # # NO RUNTIME DEPENDENCIES, and that is a property rather than a coincidence: # this package writes facts and must be safe to run over a customer's source # without their auditing a dependency tree first. `test_ingest.py` asserts that # no module here imports a networking or process-spawning module, walked over # the package rather than over a named list. [build-system] requires = ["setuptools>=68"] build-backend = "setuptools.build_meta" [project] name = "dkepy" version = "0.5.1" description = "Write facts into a DKE store, from Python, for kinds you define yourself" readme = "README.md" license = { file = "LICENSE" } authors = [{ name = "Are Bjørby", email = "are.bjorby@langsyn.org" }] keywords = ["dke", "reasoning", "facts", "knowledge"] # 3.10 is a HARD floor, not a preference: the Python reader walks `ast.Match`, # which does not exist below it, so the module fails to import rather than # degrading. `test_ingest.py` asserts the floor against this file. requires-python = ">=3.10" dependencies = [] classifiers = [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries", ] [project.urls] Homepage = "https://dke.langsyn.com/" Documentation = "https://dke.langsyn.com/tutorial/dke/python/" [project.scripts] dke-ingest-python = "dke.ingest.python:main" dke-ingest-cpp = "dke.ingest.cpp:main" [tool.setuptools.packages.find] where = ["src"] # PEP 561. Without this marker a type checker IGNORES an installed package # entirely, however well annotated it is — and this one was: 90 of 90 # functions carry return annotations and every parameter is typed, all of it # invisible to a customer until the marker shipped. `test_stubs.py` asserts # both halves: the file is here, and it is listed for the build. [tool.setuptools.package-data] dke = ["py.typed"]