Metadata-Version: 2.1
Name: snyk-depxtractor
Version: 0.1.3
Summary: Snyk Dependency Extractor
Home-page: https://github.com/zsolt-halo/snyk-depxtractor
License: GPL-3.0-only
Author: Zsolt Halo
Author-email: net.zsolt.net@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: click (>=8.0.3,<9.0.0)
Requires-Dist: pandas (>=1.3.5,<2.0.0)
Requires-Dist: pyarrow (>=6.0.1,<7.0.0)
Requires-Dist: requests (>=2.27.1,<3.0.0)
Requires-Dist: tqdm (>=4.62.3,<5.0.0)
Project-URL: Bug Tracker, https://github.com/zsolt-halo/snyk-depxtractor/issues
Project-URL: Repository, https://github.com/zsolt-halo/snyk-depxtractor
Description-Content-Type: text/markdown

# snyk-dependency-extractor
[![Code Style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Python 3.10](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3100/)
---
Tool to extract dependencies from a Snyk group. Initial version, updates may come.

The tool uses 5 threads to process the organizations inside the group, and 4 threads for each org to process the deps. This way we can avoid slowing ourselves (mostly) by throttling on huge orgs.

-   Free software: [GNU General Public License
    v3.0](https://github.com/zsolt-halo/snyk-depxtractor/blob/master/LICENSE)
<!-- -   Documentation: <https://snyk-dependency-extractor.readthedocs.io>. -->

## Features

- Extract all dependencies from a Snyk group into a csv in the local folder

## Todo / Roadmap
- [x] Enable multiple output formats, json/parquet
- [x] Pypi package
- [X] CLI command
- [ ] Proper docs/testing
- [X] Pipeline
- [ ] Filtering for orgs
- [ ] Analytics and data deduplication

## Install

Use `pip` for install:

``` console
pip install snyk-depxtractor
```

### Usage
```console
export SNYK_TOKEN=xxxxxxx-xxxxxx-xxxx
sde dump-group-deps [tsv,json,parquet,all]

# all means tsv, json, parquet 🤓
```

If you want to setup for development:

``` console
# Install poetry using pipx
python -m pip install pipx
python -m pipx ensurepath
pipx install poetry

# Clone repository
git clone https://github.com/zsolt-halo/snyk-depxtractor.git
cd snyk-dependency-extractor/

$ # Install dependencies and hooks
$ poetry install
$ poetry run pre-commit install
```

## Known Issues
Pokemon exception handling, we catch them all.

Will fix it eventually :)

