semvec/pypi-packages huggingface dataset:
dffr 0.0.2
Find a difference between two mutable Python types.

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/vald-phoenix/dffr/blob/master/LICENSE)
[![Build Status](https://travis-ci.org/vald-phoenix/dffr.svg?branch=master)](https://travis-ci.org/vald-phoenix/dffr?branch=master)
[![Coverage Status](https://coveralls.io/repos/github/vald-phoenix/dffr/badge.svg?branch=master)](https://coveralls.io/github/vald-phoenix/dffr?branch=master)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/a4b5c4f0bd3c4eb9ac4a93e5ecb3c2fa)](https://www.codacy.com/app/vald-phoenix/dffr?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=vald-phoenix/dffr&amp;utm_campaign=Badge_Grade)
[![Documentation Status](https://readthedocs.org/projects/dffr/badge/?version=latest)](https://dffr.readthedocs.io/en/latest/?badge=latest)

# dffr

The package helps you to find a difference between two mutable Python types.

```python
from dffr.utils import find_diff

>>> find_diff({'a': 1}, {'a': 1, 'b': 2})
defaultdict(list, {'b': [2]})
```
mobi-python 0.0.1
Mobi Python Library

Mobi Python Library
===================
**This should be considered alpha quality software.**

This library provides a little API for accessing the contents of an unencrypted .mobi file.  Here's a short example:

```python
from mobi import Mobi

book = Mobi("test/CharlesDarwin.mobi");
book.parse();
# this will print, 1 record at a time, the entire contents of the book
for record in book:
    print record
```
This library provides quite a lot of access to the metadata included in any mobibook.  For example, Gutenburg's Origin of the Species:
```python
>>> pprint(book.config)
{'exth': {'header length': 356,
          'identifier': 1163416648,
          'record Count': 15,
          'records': {100: 'Charles Darwin',
                      101: 'Project Gutenberg',
                      105: 'Natural selection',
                      106: '1999-12-01',
                      109: 'Public domain in the USA.',
                      112: 'http://www.gutenberg.org/files/2009/2009-h/2009-h.htm',
                      201: '\x00\x00\x00\x00',
                      202: '\x00\x00\x00\x01',
                      203: '\x00\x00\x00\x00',
                      204: '\x00\x00\x00\x01',
                      205: '\x00\x00\x00\x06',
                      206: '\x00\x00\x00\x02',
                      207: '\x00\x00\x00)',
                      300: '\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\xed\xec\xbe@\x94'}},
 'mobi': {'DRM Count': 0,
          'DRM Flags': 0,
          'DRM Offset': 4294967295,
          'DRM Size': 0,
          'EXTH flags': 80,
          'First Image index': 334,
          'First Non-book index': 329,
          'Format version': 6,
          'Full Name': 'The Origin of Species by means of Natural Selection, 6th Edition',
          'Full Name Length': 64,
          'Full Name Offset': 604,
          'Generator version': 6,
          'Has DRM': False,
          'Has EXTH Header': True,
          'Input Language': 0,
          'Language': 9,
          'Mobi type': 2,
          'Output Language': 0,
          'Start Offset': 2808,
          'Unique-ID': 4046349163,
          'header length': 232,
          'identifier': 1297039945,
          'text Encoding': 1252},
 'palmdoc': {'Compression': 2,
             'Encryption Type': 0,
             'Unknown': 0,
             'Unused': 0,
             'record count': 327,
             'record size': 4096,
             'text length': 1336365}}
>>>
```
## Retrieving Author and Title
The author and title of a book can be retrieved using the author() and title()
methods respectively on a Mobi() object. The parse() method needs to have
already been called.