Metadata-Version: 2.1
Name: MetaStalk
Version: 2.2.post1
Summary: Metadata analyzer and visualizer
Home-page: https://gitlab.com/Cyb3r-Jak3/MetaStalk
Author: Cyb3r Jak3
Author-email: jake@jwhite.network
License: MPL 2.0
Download-URL: https://gitlab.com/Cyb3r-Jak3/metastalk/-/releases
Project-URL: Issues, https://gitlab.com/Cyb3r-Jak3/MetaStalk/issues
Project-URL: Source, https://gitlab.com/Cyb3r-Jak3/MetaStalk/-/tree/master
Project-URL: CI, https://gitlab.com/Cyb3r-Jak3/MetaStalk/pipelines
Project-URL: Releases, https://gitlab.com/Cyb3r-Jak3/metastalk/-/releases
Keywords: exif image metadata photo plotly dash pyheif
Platform: UNKNOWN
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Operating System :: OS Independent
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Utilities
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: exifread (>=2.1.2)
Requires-Dist: plotly (>=4.6.0)
Requires-Dist: pandas (>=1.0.3)
Requires-Dist: dash (>=1.11.0)
Provides-Extra: all
Requires-Dist: bandit (>=1.6.2) ; extra == 'all'
Requires-Dist: pylint (>=2.5.0) ; extra == 'all'
Requires-Dist: flake8 (>=3.7.9) ; extra == 'all'
Requires-Dist: coverage (>=4.5.4) ; extra == 'all'
Requires-Dist: tox (>=3.15.0) ; extra == 'all'
Requires-Dist: pyheif (>=0.4) ; extra == 'all'
Requires-Dist: psutil (>=5.7.0) ; extra == 'all'
Requires-Dist: requests (>=2.23.0) ; extra == 'all'
Provides-Extra: dev
Requires-Dist: bandit (>=1.6.2) ; extra == 'dev'
Requires-Dist: pylint (>=2.5.0) ; extra == 'dev'
Requires-Dist: flake8 (>=3.7.9) ; extra == 'dev'
Requires-Dist: coverage (>=4.5.4) ; extra == 'dev'
Requires-Dist: tox (>=3.15.0) ; extra == 'dev'
Provides-Extra: full
Requires-Dist: psutil (>=5.7.0) ; extra == 'full'
Requires-Dist: requests (>=2.23.0) ; extra == 'full'
Requires-Dist: pyheif (>=0.4) ; extra == 'full'
Provides-Extra: heic
Requires-Dist: pyheif (>=0.4) ; extra == 'heic'
Provides-Extra: image
Requires-Dist: psutil (>=5.7.0) ; extra == 'image'
Requires-Dist: requests (>=2.23.0) ; extra == 'image'

# MetaStalk

[![GitHub](https://img.shields.io/github/license/Cyb3r-Jak3/MetaStalk?style=flat)](https://github.com/Cyb3r-Jak3/MetaStalk/blob/master/LICENSE) ![Gitlab pipeline status (branch)](https://img.shields.io/gitlab/pipeline/Cyb3r-Jak3/MetaStalk/master?label=Build&style=flat)  ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/metastalk) ![PyPI](https://img.shields.io/pypi/v/metastalk)

[![Maintainability](https://api.codeclimate.com/v1/badges/9b95ea5f0c8a77eab0ed/maintainability)](https://codeclimate.com/github/Cyb3r-Jak3/MetaStalk/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/9b95ea5f0c8a77eab0ed/test_coverage)](https://codeclimate.com/github/Cyb3r-Jak3/MetaStalk/test_coverage)

[![codecov](https://codecov.io/gl/Cyb3r-Jak3/metastalk/branch/master/graph/badge.svg)](https://codecov.io/gl/Cyb3r-Jak3/metastalk) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/68c8c8c6b4d5421cb0e8a81f69696944)](https://www.codacy.com/manual/Cyb3r_Jak3/metastalk?utm_source=gitlab.com&amp;utm_medium=referral&amp;utm_content=Cyb3r-Jak3/metastalk&amp;utm_campaign=Badge_Grade)

[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/Cyb3r-Jak3/MetaStalk/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/Cyb3r-Jak3/MetaStalk/?branch=master) [![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/Cyb3r-Jak3/MetaStalk.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Cyb3r-Jak3/MetaStalk/context:python)

## About

MetaStalk is a tool that can be used to generate graphs from the metadata of JPEG, TIFF, HEIC images, which are tested. More formats are supported but untested.
It currently creates graphs for:

- GPS coordinates (map)
- Focal Length, Camera model, Camera manufacturer, Producer information (Pie Chart)
- Timestamp information (Chart)

Examples photos from [ianare/exif-samples](https://github.com/ianare/exif-samples/tree/master/jpg/gps), [exiftool](https://owl.phy.queensu.ca/~phil/exiftool/sample_images.html), [drewmpales/metadata-extractor-images](https://github.com/drewnoakes/metadata-extractor-images).

All development is done on GitLab and mirrored to GitHub. Please read [contributing.md](CONTRIBUTING.md) for development.

Python 3.6 and up.

## How to use

MetaStalk is available as a package on pypi.org or you can do a source install.

```bash
usage: MetaStalk [-h] [-a] [-d] [-e {pdf,svg,webp,jpeg,png,html,html_offline}]
                 [--no-open] [-o OUTPUT] [-t] [-v]
                 [files [files ...]]

Tool to graph image metadata.

positional arguments:
  files                 Path of photos to check.

optional arguments:
  -h, --help            show this help message and exit

  -a, --alphabetic      Sorts charts in alphabetical order rather than the
                        default order

  -d, --debug           Sets logging level to DEBUG.

  -e, --export {pdf,svg,webp,jpeg,png,html,html_offline}
                        Exports the graphs rather than all on one webpage

  --no-open             Will only start the server and not open the browser to
                        view it

  -o OUTPUT, --output OUTPUT
                        The name of the directory to output exports to. Will
                        be created if it does not exist. Defaults to
                        metastalk_exports.

  -t, --test            Does not show the graphs at the end.

  -v, --verbose         Sets logging level to INFO
```

### Extras

MetaStalk has extra installs available for an increased feature set.

- **metastalk[image]**
Allows for exporting charts to images in png, jpeg, webp, svg and pdf formats.

  - [Orca](https://github.com/plotly/orca) is required.

- **metastalk[heic]**
Allows for parse  of heic images. **Linux or Mac is requirement** because Metastalk uses [pyheif](https://github.com/david-poirier-csn/pyheif) and thus [libheif](https://github.com/strukturag/libheif).

- **metastalk[full]**
Combination of [image] and [heic]. Requires Linux or Mac and needs [orca](https://github.com/plotly/orca) installed.

### PyPi Install

```bash
pip install metastalk
metastalk <Path to files>
#i.e. metastalk ./ExamplePhotos/
```

### Source Install

```bash
git clone https://gitlab.com/Cyb3r-Jak3/metastalk
cd metastalk
setup.py install
metastalk <Path to files>
#i.e. metastalk ./ExamplePhotos/
```

## Disclaimer

This is for educational/proof of concept purposes only. What you do with MetaStalk is **your** responsibility.

[![DeepSource](https://static.deepsource.io/deepsource-badge-light-mini.svg)](https://deepsource.io/gl/Cyb3r-Jak3/MetaStalk/?ref=repository-badge)


