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., 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.
|nlnet| and |ngi0entrust|
- Support from nexB Inc. |nexb|
- Generous support from users like you!
.. |nlnet| image:: https://nlnet.nl/logo/banner.png
:target: https://nlnet.nl
:height: 50
:alt: NLnet foundation logo
.. |ngi0entrust| image:: https://nlnet.nl/image/logos/NGI0_tag.svg
:target: https://nlnet.nl/entrust
:height: 50
:alt: NGI Zero Logo
.. |nexb| image:: https://nexb.com/wp-content/uploads/2022/04/nexB.svg
:target: https://nexb.com
:height: 30
:alt: nexB logo
Raw data
{
"_id": null,
"home_page": "https://github.com/nexB/go-inspector",
"name": "go-inspector",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "utilities",
"author": "nexB. Inc. and others",
"author_email": "info@aboutcode.org",
"download_url": "https://files.pythonhosted.org/packages/e5/23/5605187a875b808b11454ae30c1dc408a93f20b70854a4e41e24ca3493ff/go-inspector-0.2.2.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., Mandiant, The Go Authors, Elliot Chance and others.\n- Homepage: https://github.com/nexB/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 \nFunding and sponsoring\n---------------------------\n\nThis project is funded in part through:\n\n- NGI0 Entrust https://nlnet.nl/entrust, a fund established by NLnet with\n financial support from the European Commission's Next Generation Internet https://ngi.eu program.\n Learn more at the NLnet project page https://nlnet.nl/purl2all. \n\n |nlnet| and |ngi0entrust|\n\n- Support from nexB Inc. |nexb|\n\n- Generous support from users like you!\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.. |ngi0entrust| image:: https://nlnet.nl/image/logos/NGI0_tag.svg\n :target: https://nlnet.nl/entrust\n :height: 50\n :alt: NGI Zero 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",
"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.2.2",
"project_urls": {
"Homepage": "https://github.com/nexB/go-inspector"
},
"split_keywords": [
"utilities"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6c9ac6e10b581565b1e69e21d73e5f64ce13940b66ec1651c1c4076103fbd675",
"md5": "d394894712b37fada269a17476d77064",
"sha256": "83e314505c935ae91e8f339190d4151c9dd7d197026754d6e1f7afa34be51e70"
},
"downloads": -1,
"filename": "go_inspector-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d394894712b37fada269a17476d77064",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 2542195,
"upload_time": "2024-04-10T13:29:57",
"upload_time_iso_8601": "2024-04-10T13:29:57.257703Z",
"url": "https://files.pythonhosted.org/packages/6c/9a/c6e10b581565b1e69e21d73e5f64ce13940b66ec1651c1c4076103fbd675/go_inspector-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e5235605187a875b808b11454ae30c1dc408a93f20b70854a4e41e24ca3493ff",
"md5": "3ec79bdc920b18c2cdb3952027802c6c",
"sha256": "2b10240e6d114d38dcf2595ff8ddf7d44eb8dc4212e8dc15a7eae39d68f58b6b"
},
"downloads": -1,
"filename": "go-inspector-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "3ec79bdc920b18c2cdb3952027802c6c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 6624197,
"upload_time": "2024-04-10T13:30:00",
"upload_time_iso_8601": "2024-04-10T13:30:00.093359Z",
"url": "https://files.pythonhosted.org/packages/e5/23/5605187a875b808b11454ae30c1dc408a93f20b70854a4e41e24ca3493ff/go-inspector-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-10 13:30:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nexB",
"github_project": "go-inspector",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "importlib-metadata",
"specs": [
[
"==",
"4.11.3"
]
]
}
],
"lcname": "go-inspector"
}