<commit_before># macholibre

## Description
macholibre is a Mach-O and Universal binary parser.  It extracts information 
such as architectures, load commands, dynamic libraries, symbols, function 
imports, and tons more.  Then it packs all of that information into JSON for 
ease of analysis and integration.

## Dependencies
This project requires Python 3.4+ to run, due to API changes in `plistlib`.

I tried to make this tool with as little external dependencies as possible, and
I think I did pretty well on that front.  The only module I import is for
parsing CMS signatures.  I've configured `setup.py` to automatically install
it with the module, but you can also install it seperately with pip or manually
from github.
* [asn1crypto](https://github.com/wbond/asn1crypto)

## How To<commit_msg>Update README to advertise python2 branch.<commit_after># macholibre

## Description
macholibre is a Mach-O and Universal binary parser.  It extracts information 
such as architectures, load commands, dynamic libraries, symbols, function 
imports, and tons more.  Then it packs all of that information into JSON for 
ease of analysis and integration.

## Python 2
With Python 2 in its sunset years, macholibre has moved on to Python 3.
However, for those of you that are stuck on Python 2, see the [python2](https://github.com/aaronst/macholibre/tree/python2)
branch. No promises on long-term support, but the code differences right now
are minimal and should be fairly easy to maintain.

## Dependencies
This project requires Python 3.4+ to run, due to API changes in `plistlib`.

I tried to make this tool with as little external dependencies as possible, and
I think I did pretty well on that front.  The only module I import is for
parsing CMS signatures.  I've configured `setup.py` to automatically install
it with the module, but you can also install it seperately with pip or manually
from github.
* [asn1crypto](https://github.com/wbond/asn1crypto)

## How To
{'fraction_non_alphanumeric': 0.05736040609137056, 'fraction_numerical': 0.007614213197969543, 'mean_word_length': 4.49025069637883, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1133065', 'n_tokens_mistral': 550, 'n_tokens_neox': 523, 'n_words': 285}