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-evaluator
into metapackageCopied
distributed.py
from Dask, updated error message and import toimport evaluator
Did
from openff import evaluator
to 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/beta
Modified GHA script from evaluator’s, mostly by removing things and changing names
import openff
works!from openff import evaluator
works! 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 ImportError
seems 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)