go-inspector is a scancode plugin to extract symbols and dependencies found in Go binaries.
Project description
go-inspector is a utility to extract dependencies and symbols from Go binaries. It is desigend to work as a ScanCode Toolkit plugin.
To install and use:
Run pip install go-inspector
Use with scancode --json-pp - --go-symbol --verbose <PATH to a tree or file with Go binaries>
The JSON output will contain various dependencies and symbols found in Go binaries if any.
License: Apache-2.0 AND MIT AND BSD-3-Clause WITH LicenRef-scancode-google-patent-license-golang
Copyright (c) nexB Inc., Mandiant, The Go Authors, Elliot Chance and others
Homepage: https://github.com/nexB/go-inspector/
See the src/go_inspector/bin for detailed license and credits for bundled third-party packages.
Development
Install requirements and dependencies using make dev
Then source venv/bin/activate
Testing:
To run tests: pytest -vvs
To regen test fixtures: SCANCODE_REGEN_TEST_FIXTURES=yes pytest -vvs
To update the bundled GoReSym, see src/bin/update.sh
How to re-generate test binaries
These are compiled (and committed) from code in tests/data/basic :
Run go tool dist list to get all possible pairs of OSes and arches to compile the binary.
Then build a OS/arch pair like this to get compiled binaries: GOOS=<OS> GOARCH=<arch> go build -o ./tests/data/basic/app_<OS>_exe ./tests/data/main.go
Make a copy and run strip of the Linux executable as “app_lin_exe_stripped”
Funding and sponsoring
This project is funded in part through:
NGI0 Entrust https://nlnet.nl/entrust, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet https://ngi.eu program. Learn more at the NLnet project page https://nlnet.nl/purl2all.
Generous support from users like you!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for go_inspector-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aec8d210b28398916e966b36b787d7f53f70537ac885ee6393ff4c1c2d7b5d80 |
|
MD5 | be008ed4e51bfa885b05ecc5e846a6f5 |
|
BLAKE2b-256 | 6271a1f92222dfd515eb4f1a457361421f87abf7d1910b491353d529832f8d58 |