Skip to main content

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 designed to work as a ScanCode Toolkit plugin and integrated in ScanCode.io

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., AboutCode, Mandiant, The Go Authors, Elliot Chance and others.

  • Homepage: https://github.com/aboutcode-org/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”

Acknowledgements, Funding, Support and Sponsoring

This project is funded, supported and sponsored by:

  • Generous support and contributions from users like you!

  • the European Commission NGI programme

  • the NLnet Foundation

  • the Swiss State Secretariat for Education, Research and Innovation (SERI)

  • Google, including the Google Summer of Code and the Google Seasons of Doc programmes

  • Mercedes-Benz Group

  • Microsoft and Microsoft Azure

  • AboutCode ASBL

  • nexB Inc.

Europa logo EC DG Connect logo

NGI logo NLnet foundation logo

AboutCode logo nexB logo

This project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.

NGI Zero Entrust logo https://nlnet.nl/project/Back2source/

This project was funded through the NGI0 Core Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101092990.

NGI Zero Core Logo https://nlnet.nl/project/Back2source-next/

This project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.

NGI Zero Entrust logo https://nlnet.nl/project/purl2all/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

go_inspector-0.4.0.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

go_inspector-0.4.0-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file go_inspector-0.4.0.tar.gz.

File metadata

  • Download URL: go_inspector-0.4.0.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for go_inspector-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a80026a90ab223c4f2dd3078f06c22914c76b8dbbbf273e0f243e1516820228f
MD5 98b8a2d65643d90d613c18084372e806
BLAKE2b-256 339b386e8a835d23e678abb48df1471c47317ff99977063c6ec981dfb94c05d1

See more details on using hashes here.

File details

Details for the file go_inspector-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for go_inspector-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03e07fbd32c45322cbdf93795daf27f248a17574a3d6f78a0cad88ff708b15be
MD5 53f66a47bb9e8c0c941499a744d2ced0
BLAKE2b-256 97505402b34f5224187881f89c5fe9d1905815b3ac4aca95181eb7a16c8406e6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page