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.
- 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| |dgconnect|
|ngi| |nlnet|
|aboutcode| |nexb|
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.
|ngizeroentrust| 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.
|ngizerocore| 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.
|ngizeroentrust| https://nlnet.nl/project/purl2all/
.. |nlnet| image:: https://nlnet.nl/logo/banner.png
:target: https://nlnet.nl
:height: 50
:alt: NLnet foundation logo
.. |ngi| image:: https://ngi.eu/wp-content/uploads/thegem-logos/logo_8269bc6efcf731d34b6385775d76511d_1x.png
:target: https://ngi.eu35
:height: 50
:alt: NGI logo
.. |nexb| image:: https://nexb.com/wp-content/uploads/2022/04/nexB.svg
:target: https://nexb.com
:height: 30
:alt: nexB logo
.. |europa| image:: https://ngi.eu/wp-content/uploads/sites/77/2017/10/bandiera_stelle.png
:target: http://ec.europa.eu/index_en.htm
:height: 40
:alt: Europa logo
.. |aboutcode| image:: https://aboutcode.org/wp-content/uploads/2023/10/AboutCode.svg
:target: https://aboutcode.org/
:height: 30
:alt: AboutCode logo
.. |swiss| image:: https://www.sbfi.admin.ch/sbfi/en/_jcr_content/logo/image.imagespooler.png/1493119032540/logo.png
:target: https://www.sbfi.admin.ch/sbfi/en/home/seri/seri.html
:height: 40
:alt: Swiss logo
.. |dgconnect| image:: https://commission.europa.eu/themes/contrib/oe_theme/dist/ec/images/logo/positive/logo-ec--en.svg
:target: https://commission.europa.eu/about-european-commission/departments-and-executive-agencies/communications-networks-content-and-technology_en
:height: 40
:alt: EC DG Connect logo
.. |ngizerocore| image:: https://nlnet.nl/image/logos/NGI0_tag.svg
:target: https://nlnet.nl/core
:height: 40
:alt: NGI Zero Core Logo
.. |ngizerocommons| image:: https://nlnet.nl/image/logos/NGI0_tag.svg
:target: https://nlnet.nl/commonsfund/
:height: 40
:alt: NGI Zero Commons Logo
.. |ngizeropet| image:: https://nlnet.nl/image/logos/NGI0PET_tag.svg
:target: https://nlnet.nl/PET
:height: 40
:alt: NGI Zero PET logo
.. |ngizeroentrust| image:: https://nlnet.nl/image/logos/NGI0Entrust_tag.svg
:target: https://nlnet.nl/entrust
:height: 38
:alt: NGI Zero Entrust logo
.. |ngiassure| image:: https://nlnet.nl/image/logos/NGIAssure_tag.svg
:target: https://nlnet.nl/image/logos/NGIAssure_tag.svg
:height: 32
:alt: NGI Assure logo
.. |ngidiscovery| image:: https://nlnet.nl/image/logos/NGI0Discovery_tag.svg
:target: https://nlnet.nl/discovery/
:height: 40
:alt: NGI Discovery logo
Raw data
{
"_id": null,
"home_page": "https://github.com/nexB/go-inspector",
"name": "go-inspector",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "utilities",
"author": "nexB. Inc. and others",
"author_email": "info@aboutcode.org",
"download_url": "https://files.pythonhosted.org/packages/33/9b/386e8a835d23e678abb48df1471c47317ff99977063c6ec981dfb94c05d1/go_inspector-0.4.0.tar.gz",
"platform": null,
"description": "go-inspector\n================================\n\ngo-inspector is a utility to extract dependencies and symbols from Go binaries.\nIt is designed to work as a ScanCode Toolkit plugin and integrated in ScanCode.io\n\nTo install and use:\n\n- Run ``pip install go-inspector``\n- Use with ``scancode --json-pp - --go-symbol --verbose <PATH to a tree or file with Go binaries>``\n\nThe JSON output will contain various dependencies and symbols found in Go binaries if any.\n\n\n- License: Apache-2.0 AND MIT AND BSD-3-Clause WITH LicenRef-scancode-google-patent-license-golang\n- Copyright (c) nexB Inc., AboutCode, Mandiant, The Go Authors, Elliot Chance and others.\n- Homepage: https://github.com/aboutcode-org/go-inspector\n\nSee the src/go_inspector/bin for detailed license and credits for bundled third-party packages.\n\n\nDevelopment\n----------------\n\n- Install requirements and dependencies using ``make dev``\n- Then ``source venv/bin/activate``\n\nTesting:\n\n- To run tests: ``pytest -vvs``\n- To regen test fixtures: ``SCANCODE_REGEN_TEST_FIXTURES=yes pytest -vvs``\n- To update the bundled GoReSym, see src/bin/update.sh\n\n\nHow to re-generate test binaries\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThese are compiled (and committed) from code in tests/data/basic :\n\n- Run ``go tool dist list`` to get all possible pairs of OSes and arches to compile the binary.\n- Then build a OS/arch pair like this to get compiled binaries:\n ``GOOS=<OS> GOARCH=<arch> go build -o ./tests/data/basic/app_<OS>_exe ./tests/data/main.go``\n- Make a copy and run strip of the Linux executable as \"app_lin_exe_stripped\"\n\n\nAcknowledgements, Funding, Support and Sponsoring\n--------------------------------------------------------\n\nThis project is funded, supported and sponsored by:\n\n- Generous support and contributions from users like you!\n- the European Commission NGI programme\n- the NLnet Foundation \n- the Swiss State Secretariat for Education, Research and Innovation (SERI)\n- Google, including the Google Summer of Code and the Google Seasons of Doc programmes\n- Mercedes-Benz Group\n- Microsoft and Microsoft Azure\n- AboutCode ASBL\n- nexB Inc. \n\n\n\n|europa| |dgconnect| \n\n|ngi| |nlnet| \n\n|aboutcode| |nexb|\n\n\n\nThis project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial\nsupport from the European Commission's Next Generation Internet programme, under the aegis of DG\nCommunications Networks, Content and Technology under grant agreement No 101069594. \n\n|ngizeroentrust| https://nlnet.nl/project/Back2source/\n\n\nThis project was funded through the NGI0 Core Fund, a fund established by NLnet with financial\nsupport from the European Commission's Next Generation Internet programme, under the aegis of DG\nCommunications Networks, Content and Technology under grant agreement No 101092990.\n\n|ngizerocore| https://nlnet.nl/project/Back2source-next/\n\n\nThis project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial\nsupport from the European Commission's Next Generation Internet programme, under the aegis of DG\nCommunications Networks, Content and Technology under grant agreement No 101069594. \n\n|ngizeroentrust| https://nlnet.nl/project/purl2all/\n\n\n\n.. |nlnet| image:: https://nlnet.nl/logo/banner.png\n :target: https://nlnet.nl\n :height: 50\n :alt: NLnet foundation logo\n\n.. |ngi| image:: https://ngi.eu/wp-content/uploads/thegem-logos/logo_8269bc6efcf731d34b6385775d76511d_1x.png\n :target: https://ngi.eu35\n :height: 50\n :alt: NGI logo\n\n.. |nexb| image:: https://nexb.com/wp-content/uploads/2022/04/nexB.svg\n :target: https://nexb.com\n :height: 30\n :alt: nexB logo\n\n.. |europa| image:: https://ngi.eu/wp-content/uploads/sites/77/2017/10/bandiera_stelle.png\n :target: http://ec.europa.eu/index_en.htm\n :height: 40\n :alt: Europa logo\n\n.. |aboutcode| image:: https://aboutcode.org/wp-content/uploads/2023/10/AboutCode.svg\n :target: https://aboutcode.org/\n :height: 30\n :alt: AboutCode logo\n\n.. |swiss| image:: https://www.sbfi.admin.ch/sbfi/en/_jcr_content/logo/image.imagespooler.png/1493119032540/logo.png\n :target: https://www.sbfi.admin.ch/sbfi/en/home/seri/seri.html\n :height: 40\n :alt: Swiss logo\n\n.. |dgconnect| image:: https://commission.europa.eu/themes/contrib/oe_theme/dist/ec/images/logo/positive/logo-ec--en.svg\n :target: https://commission.europa.eu/about-european-commission/departments-and-executive-agencies/communications-networks-content-and-technology_en\n :height: 40\n :alt: EC DG Connect logo\n\n.. |ngizerocore| image:: https://nlnet.nl/image/logos/NGI0_tag.svg\n :target: https://nlnet.nl/core\n :height: 40\n :alt: NGI Zero Core Logo\n\n.. |ngizerocommons| image:: https://nlnet.nl/image/logos/NGI0_tag.svg\n :target: https://nlnet.nl/commonsfund/\n :height: 40\n :alt: NGI Zero Commons Logo\n\n.. |ngizeropet| image:: https://nlnet.nl/image/logos/NGI0PET_tag.svg\n :target: https://nlnet.nl/PET\n :height: 40\n :alt: NGI Zero PET logo\n\n.. |ngizeroentrust| image:: https://nlnet.nl/image/logos/NGI0Entrust_tag.svg\n :target: https://nlnet.nl/entrust\n :height: 38\n :alt: NGI Zero Entrust logo\n\n.. |ngiassure| image:: https://nlnet.nl/image/logos/NGIAssure_tag.svg\n :target: https://nlnet.nl/image/logos/NGIAssure_tag.svg\n :height: 32\n :alt: NGI Assure logo\n\n.. |ngidiscovery| image:: https://nlnet.nl/image/logos/NGI0Discovery_tag.svg\n :target: https://nlnet.nl/discovery/\n :height: 40\n :alt: NGI Discovery logo\n\n\n\n\n\n\n",
"bugtrack_url": null,
"license": "Apache-2.0 AND MIT AND BSD-3-Clause WITH LicenRef-scancode-google-patent-license-golang",
"summary": "go-inspector is a scancode plugin to extract symbols and dependencies found in Go binaries.",
"version": "0.4.0",
"project_urls": {
"Homepage": "https://github.com/nexB/go-inspector"
},
"split_keywords": [
"utilities"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "97505402b34f5224187881f89c5fe9d1905815b3ac4aca95181eb7a16c8406e6",
"md5": "53f66a47bb9e8c0c941499a744d2ced0",
"sha256": "03e07fbd32c45322cbdf93795daf27f248a17574a3d6f78a0cad88ff708b15be"
},
"downloads": -1,
"filename": "go_inspector-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "53f66a47bb9e8c0c941499a744d2ced0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 1295358,
"upload_time": "2024-10-31T12:23:57",
"upload_time_iso_8601": "2024-10-31T12:23:57.202827Z",
"url": "https://files.pythonhosted.org/packages/97/50/5402b34f5224187881f89c5fe9d1905815b3ac4aca95181eb7a16c8406e6/go_inspector-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "339b386e8a835d23e678abb48df1471c47317ff99977063c6ec981dfb94c05d1",
"md5": "98b8a2d65643d90d613c18084372e806",
"sha256": "a80026a90ab223c4f2dd3078f06c22914c76b8dbbbf273e0f243e1516820228f"
},
"downloads": -1,
"filename": "go_inspector-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "98b8a2d65643d90d613c18084372e806",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 5472091,
"upload_time": "2024-10-31T12:23:58",
"upload_time_iso_8601": "2024-10-31T12:23:58.802577Z",
"url": "https://files.pythonhosted.org/packages/33/9b/386e8a835d23e678abb48df1471c47317ff99977063c6ec981dfb94c05d1/go_inspector-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-31 12:23:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nexB",
"github_project": "go-inspector",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "go-inspector"
}