Skip to main content

go-inspector

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.

A Go compiler is required to build go-inspector. Install Go from https://go.dev/doc/install or from a package manager.

  • 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 libsrc/ directory 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

Building:

  • Ensure make dev has been run, then run make build

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/

Metadata

Release files for go-inspector 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for go-inspector 0.5.0
File Size Uploaded
go_inspector-0.5.0.tar.gz 56.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for go-inspector 0.5.0
File Interpreter ABI Platform
go_inspector-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 57.7 MB

Release files / go_inspector-0.5.0.tar.gz

Download URL go_inspector-0.5.0.tar.gz
Size 56.5 MB
Tags Source
SHA-256 checksum
How to use checksums
122ba376348794e7bdf9816e442064042489c30e49506e5c84ac218592461d7e
BLAKE2b-256 checksum
How to use checksums
874ee11d0ba49f35ffa1cc47ada4def9794f328a497b324a67f164e970ec1073
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / go_inspector-0.5.0-py3-none-any.whl

Download URL go_inspector-0.5.0-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c11807e2b3bfd8a255407a44b754c9c5efd4cd471b25795e5efe7f245c4450b2
BLAKE2b-256 checksum
How to use checksums
86fcab68121476da4da1a133bd82ca6820fe53d1419fefa9afe7491b7efcdc62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page