2020-05-11 Namespace hacking
Date
May 11, 2020
Participants
@Matt Thompson
@David Dotson
@Simon Boothroyd
Objectives
Hack together a minimal “metapackage” to see if there are immediate significant roadblocks
What we did
Installed cookiecutter
Made an “openff” metapackage to host stubs
Removed COC, `data/`, `openff.py`, travis.yml
First up is moving
openff-evaluatorinto metapackageCopied
distributed.pyfrom Dask, updated error message and import toimport evaluatorDid
from openff import evaluatorto check that error message is triggered (it was!)Remove
devtools/, copyevaluator/devtools/, and update some files insideconda install openff-evaluator -c conda-forge -c omnia -c omnia/labels/betaModified GHA script from evaluator’s, mostly by removing things and changing names
import openffworks!from openff import evaluatorworks! andevaluator.<tabcomplete>shows the stuff you’d expectCopied README badges over
Commit changes, create repo on GitHub
Matt tested the repo out of the box and the two above imports worked
Run linters (isort, black, flake8) locally
Configure flake8
Discussion topics that came up
How should the metapackaged be versioned? Should it be versioned?
Probably yes, should be versioned
But updates should mostly be bugfix type of changes
Mostly just if a new package is added to this collection
Dask’s very simple
try: from distributed import * ; except ImportErrorseems to work wellthe toolkit’s bare high-level init causes problems for imports, since there are no module-level imports
import openforcefield; dir(openforcefield)has nothing in itthis “dask-like” approach requires that everything in a module be available at the first import
Pure namespace approach seems …. not easy?
Pretty much non-existent in the community
Action items
Discrete discussion points for later (assign as action items at a later meeting, maybe tomorrow)