semvec/pypi-packages huggingface dataset:
emlx 1.0.4
The leightweight parser for emlx files.
License: MIT
Requires Python: >=3.6

Emlx
=====

Emlx is the lightweight parser for `.emlx` files as used by Mail.app.


Install
-------

Install and update using `pip`:

```
pip install emlx
```


Basic usage
-----------

```python
>>> import emlx
>>> m = emlx.read("12345.emlx")
>>> m.headers
{'Subject': 'Re: Emlx library ✉️',
 'From': 'Michael <michael@example.com>',
 'Date': 'Thu, 30 Jan 2020 20:25:43 +0100',
 'Content-Type': 'text/plain; charset=utf-8',
 ...}
>>> m.text
"You're welcome. :)\n\n> Python <python@example.com> wrote:\n>\n> Thank you!\n\n"
>>> m.html is None
True
>>> m.plist
{'color': '000000',
 'conversation-id': 12345,
 'date-last-viewed': 1580423184,
 'flags': {...}
 ...}
>>> m.flags
{'read': True, 'answered': True, 'attachment_count': 2}
```


Architecture
------------

An `.emlx` file consists of three parts:

1. bytecount on first line;
2. email content in MIME format (headers, body, attachments);
3. Apple property list (plist) with metadata.

The second part (2.) is parsed by the `email` library. It is included in the Python standard library. Message objects generated by `emlx` extend `email.message.Message` and thus give access to its handy features. Additionally, `emlx` message objects provide the attributes `bytecount` (1.) as integer and `plist` (3.) as a Python dictionary. For convenience, it also offers the attributes `headers`, `text`, `html`, `url`, `id`, and `flags`.


History
-------

The `emlx` file format was introduced by Apple in 2005. It is similar to `eml`-files popular with other email clients; the difference is the added bytecount (start) and plist (end). For more, see [here](https://en.wikipedia.org/wiki/Email#Filename_extensions).
ip-object-browser 0.3.0
Browse big nested data structures in ipython with keyboard
License: MIT
Requires Python: >=3.7,<4.0
Keywords: urwid,json,tui,ipython

# ip_object_browser
Using IPython? Did a REST endpoint return 5 MB of JSON data? Can't bother to save the response to a file?
Browse it with your keyboard straight from the console!

## Usage

In IPython, press `<C-T>` to browse the last output object (`_`).

Use vi-like `hjkl` or arrow keys to navigate. 

Press `/` to begin a textual search.
Confirm with enter.
Jump to next occurrence with `n`.

Press `<C-C>` or `q` to exit.

### Usage from code
```python
from ip_object_browser import view
view({})
```

## Installation
```bash
pip install ip-object-browser
cat <<EOF >>~/.ipython/profile_default/ipython_config.py
c = get_config()
c.InteractiveShellApp.exec_lines.append(
    "try:\n    %load_ext ip_object_browser\nexcept ImportError: pass"
)
EOF
```

## Implementation
Based on the [urwid](https://github.com/urwid/urwid) library,
adapted from the [treesample example](https://github.com/urwid/urwid/blob/master/examples/treesample.py).

## TODO
- [x] textual search functionality
    - [ ] fix jump to previous (`N`)
- [x] status line with current path in object
- [ ] path-based navigation
- [x] output current path on exit