Skip to content

redodo/formats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Formats

Support multiple formats with ease.

Installation via PIP:

pip install --pre formats

Quick usage overview:

>>> import formats
>>> formats.discover()
>>> text = '''
...     awesome_things:
...     - dodos
...     - pythons
... '''
>>> formats.parse('yaml', text)
{'awesome_things': ['dodos', 'pythons']}
>>> formats.convert('yaml', 'json', text)
'{"awesome_things": ["dodos", "pythons"]}'

The Basics

Formats will provide you with a consistent API to parse and compose data.

Registering new formats

import formats
import someformat

formats.register('someformat', someformat.loads, someformat.dumps)
# or
formats.register_parser('someformat', someformat.loads)
formats.register_composer('someformat', someformat.dumps)

Creating your own formats

You could of course use the register method to register your own parser, but decorators are much more fun!

import formats

@formats.parser('text')
def text_parser(text):
    return text

@formats.composer('text')
def text_composer(text):
    return text

About

Support multiple formats with ease.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages