This is a bit pedantic and maybe just bike shedding. But probably you are interested in improve some of this warnings:
pylint -f parseable booby/
tee pylint.out
No config file found, using default configuration
booby/__init__.py:1: [C] Missing docstring
booby/models.py:38: [C] Line too long (96/80)
booby/models.py:63: [W] Anomalous backslash in string: '\*'. String constant might be missing an r prefix.
booby/models.py:63: [W] Anomalous backslash in string: '\*'. String constant might be missing an r prefix.
booby/models.py:117: [W] Anomalous backslash in string: '\*'. String constant might be missing an r prefix.
booby/models.py:117: [W] Anomalous backslash in string: '\*'. String constant might be missing an r prefix.
booby/models.py:46: [C, ModelMeta] Missing docstring
booby/models.py:47: [C, ModelMeta.__new__] Metaclass class method __new__ should have 'mcs' as first argument
booby/models.py:51: [C, ModelMeta.__new__] Invalid name "v" for type variable (should match [a-z_][a-z0-9_]{2,30}$)
booby/models.py:55: [C, ModelMeta.__new__] Invalid name "v" for type variable (should match [a-z_][a-z0-9_]{2,30}$)
booby/models.py:89: [W, Model.__new__] Access to a protected member _data of a client class
booby/models.py:87: [W, Model.__new__] Unused argument 'args'
booby/models.py:87: [W, Model.__new__] Unused argument 'kwargs'
booby/models.py:94: [C, Model.__init__] Invalid name "v" for type variable (should match [a-z_][a-z0-9_]{2,30}$)
booby/models.py:95: [E, Model.__init__] Instance of 'Model' has no '_fields' member
booby/models.py:100: [C, Model.__raise_field_error] Missing docstring
booby/models.py:105: [E, Model.__getitem__] Instance of 'Model' has no '_fields' member
booby/models.py:110: [C, Model.__setitem__] Invalid name "v" for type argument (should match [a-z_][a-z0-9_]{2,30}$)
booby/models.py:110: [C, Model.__setitem__] Invalid name "v" for type variable (should match [a-z_][a-z0-9_]{2,30}$)
booby/models.py:111: [E, Model.__setitem__] Instance of 'Model' has no '_fields' member
booby/models.py:130: [C, Model._update] Missing docstring
booby/models.py:131: [C, Model._update] Invalid name "v" for type variable (should match [a-z_][a-z0-9_]{2,30}$)
booby/models.py:143: [E, Model.validate] Instance of 'Model' has no '_fields' member
booby/models.py:150: [E, Model.to_dict] Instance of 'Model' has no '_fields' member
booby/models.py:62: [R, Model] Badly implemented Container, implements __getitem__, __setitem__ but not __delitem__, __len__
booby/validators.py:63: [C] Line too long (82/80)
booby/validators.py:146: [W] Anomalous backslash in string: '\w'. String constant might be missing an r prefix.
booby/validators.py:146: [W] Anomalous backslash in string: '\@'. String constant might be missing an r prefix.
booby/validators.py:146: [W] Anomalous backslash in string: '\w'. String constant might be missing an r prefix.
booby/validators.py:146: [W] Anomalous backslash in string: '\.'. String constant might be missing an r prefix.
booby/validators.py:55: [C, nullable.wrapper] Missing docstring
booby/validators.py:65: [C, Required.validate] Missing docstring
booby/validators.py:65: [R, Required.validate] Method could be a function
booby/validators.py:62: [R, Required] Too few public methods (1/2)
booby/validators.py:80: [C, In.validate] Missing docstring
booby/validators.py:70: [R, In] Too few public methods (1/2)
booby/validators.py:89: [C, String.validate] Missing docstring
booby/validators.py:89: [R, String.validate] Method could be a function
booby/validators.py:85: [R, String] Too few public methods (1/2)
booby/validators.py:98: [C, Integer.validate] Missing docstring
booby/validators.py:98: [R, Integer.validate] Method could be a function
booby/validators.py:94: [R, Integer] Too few public methods (1/2)
booby/validators.py:107: [C, Float.validate] Missing docstring
booby/validators.py:107: [R, Float.validate] Method could be a function
booby/validators.py:103: [R, Float] Too few public methods (1/2)
booby/validators.py:116: [C, Boolean.validate] Missing docstring
booby/validators.py:116: [R, Boolean.validate] Method could be a function
booby/validators.py:112: [R, Boolean] Too few public methods (1/2)
booby/validators.py:134: [C, Embedded.validate] Missing docstring
booby/validators.py:121: [R, Embedded] Too few public methods (1/2)
booby/validators.py:142: [C, Email] Missing docstring
booby/validators.py:142: [R, Email] Too few public methods (1/2)
booby/fields.py:84: [C] Line too long (87/80)
booby/fields.py:91: [C] Line too long (89/80)
booby/fields.py:98: [C] Line too long (85/80)
booby/fields.py:105: [C] Line too long (89/80)
booby/fields.py:131: [C] Line too long (85/80)
booby/fields.py:39: [W] Anomalous backslash in string: '\*'. String constant might be missing an r prefix.
booby/fields.py:69: [W, Field.__get__] Access to a protected member _data of a client class
booby/fields.py:73: [W, Field.__set__] Access to a protected member _data of a client class
booby/fields.py:75: [C, Field.validate] Missing docstring
booby/fields.py:38: [R, Field] Too few public methods (1/2)
booby/fields.py:80: [R, StringField] Too few public methods (1/2)
booby/fields.py:87: [R, IntegerField] Too few public methods (1/2)
booby/fields.py:94: [R, FloatField] Too few public methods (1/2)
booby/fields.py:101: [R, BooleanField] Too few public methods (1/2)
booby/fields.py:122: [W, EmbeddedField.__set__] Used * or ** magic
booby/fields.py:108: [R, EmbeddedField] Too few public methods (1/2)
booby/fields.py:127: [R, EmailField] Too few public methods (1/2)
Personally, I will skip the warnings about length var naming and probably others too. Also could be interesting run pep8 for test compilance.