pyontutils icon indicating copy to clipboard operation
pyontutils copied to clipboard

decouple external resource dependent code

Open tgbugs opened this issue 6 years ago • 3 comments

There are many scripts that depend on resources and other repos and on being in a git repo which need to be separated from the core so that they can be tested independently. They should be distributed, but they need to be logically separate.

tgbugs avatar Sep 24 '18 09:09 tgbugs

The simplest way to start is to split out all the flask and sqlalchemy dependent parts of the code into a services package.

tgbugs avatar Oct 25 '18 18:10 tgbugs

A more radical approach is to break the pyontutils folder into a number of smaller packages for easier distribution. Some potential names.

  • [x] htmlfn I use htmlfun in a number of places, also worth considering breaking the css bits into actual css files, this may not need to be packaged independently, but it would certainly simplify dependencies for a bunch of my other projects

  • [x] ttltools aka ttlser or ttlformat

  • [ ] scigraph client codegen etc. possibly moved to ontquery to avoid a build time dependency

  • [x] neuron lang breaking this out will provide more clarity on how to decouple core need to see how easy it will be to extricate this

  • [ ] pyontutils everything else that does not depend on devconfig? The things below could be broken out but would still depend on core so it may not make sense to package these all independently. ontutils and friends scigraph utils ontload ~scigraph-deploy~ patch loading etc.

  • [x] ontology generation code that requires external resources methods this one is a bit of an abomination at the moment since it doesn't roundtrip parcellation makes use of the ontology generation code in core and depends on it

  • [x] nifstd services for ontree etc. these are the flask dependent things

tgbugs avatar Nov 15 '18 05:11 tgbugs

This bit is more or less complete. scigraph-codegen has not been broken into its own repo, and methods and parcellation are in nifstd-tools, but not packaged due to the fact that they expect to be run from inside a git repository. pyontutils retains the files mentioned in its section, however, things like OntRes may make more sense in idlib than anywhere else.

tgbugs avatar Apr 09 '20 05:04 tgbugs