Closed Bjwebb closed 6 years ago
The particular library functions we should consider are.
The one thing that is uncertain is the how much we should reuse the main config file for this library and how we allow changing options within it in the library (i.e what schema we choose) should be managed.
As I understand it @robredpath has done some good refactoring to help with this, but we still need to think about some of the considerations above for providing a useful API. One way to proceed on this is to use the API ourselves outside of Cove - one example would be https://github.com/open-contracting/sample-data/issues/7
http://cove.readthedocs.io/en/307-sphinx-docs/lib/ is possible an overview of what functions exist in cove.lib now.
Building on Ben's comment above, we have a use-case coming up again for OCDS sample-data repository, where @annapowellsmith is currently working on collating large corpus of published OCDS data for analysis.
In this process it would be very useful to have the ability to use the full features of the OCDS validator at the command line to:
I can see that release-level validation could end up being very desirable here too (i.e. reporting on which releases fail validation), but I realise that is a separate issue.
@timgdavies I think that 'CoVE as a library' is a somewhat different proposition from 'CoVE on the cmdline' - there may be plenty of overlap in how we implement them, however.
How much flexibility do we have over the interface? Does this need to be a neat cmdline tool from the off, or is it OK to use Django's manage.py and require the user to be running in a virtualenv to use it?
This is a good question: if starting from Django manage.py in a virtualenv is a step on the way to something more, and we can clearly document usage, that sounds sensible to me - but open to other views from the community.
We've got a few users using the cmdline version of CoVE, and in research I did try to tease out if anyone wanted a library version. No-one did. Closing - we can open a new issue to explore this if/when someone asks!
Some data publishers want to be able to use Cove's additional/custom checks in their tests.
We also have a usecase for making various checks of the sample data https://github.com/open-contracting/sample-data/issues/11 https://github.com/open-contracting/sample-data/issues/7