Metadata-Version: 2.1
Name: snyk-depxtractor
Version: 0.1.0
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
- [ ] Configure output folder/file
- [x] Enable multiple output formats, json/parquet
- [ ] Pypi package
- [ ] CLI command
- [ ] Proper docs/testing
- [ ] Pipeline

## Install

Use `pip` for install:

``` console
# clone the repo and install the deps/enter venv
$ poetry install
$ poetry shell
# export your Snyk token with group admin privs
$ export SNYK_TOKEN=xxxxxxxx
$ cd snyk_depxtractor
$ python cli.py dump-group-deps
```

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
`poetry build` produces a wheel which when installed, has some path issues and throws an error `from core import core`

Will fix it eventually :)

