Let's model a system where you have areas, and hosts within areas. These are described in a toml file. A host can only be in an area. How can you check that a document following this schema does not have the same hosts in different areas.
For example this is invalid because host2 is in both areas.
[area1]
hosts = ['host1', 'host2']
[area2]
hosts = ['host2','host3']
- Read toml file and convert to internal representation
- Validate internal representation and reject invalid configurations
- Check that hosts are only assigned to a single area
- Report to the user on pass/fail
- Have a -q flag to suppress output
- Return appropriate error codes for use in scripts
- Proper project structure (setuptools)
- Manage any dependencies
- Well defined entry point and CLI
- Should be easily deployable
- Testing
- Logging
- In the provided example I have uncapitalised the "hosts" key as TOML is case-sensitive. I am assuming that a host-area TOML file with a capitalised "hosts" key is invalid.