I’m struggling with the Pkg API. I want to generate a list of all julia packages and I guess artifact software that may have been installed and obtain the name, version, git URL, and license name.
Is there an easy way to do this or do I need to write some custom readers to find the directories and license files, etc.
It seems like there were some old ways to do this with METADATA, but it looks depreciated. How do I do this now?
The Manifest.toml file contains a complete list of every dependency (including all transitive dependencies) for the current package environment. To check all of the dependencies for a single package, you could:
Create a new folder and cd to it
Use pkg> activate . to activate a new environment in that folder
Use pkg> add YourPackageName to add your target package to that environment.
You should now have a Project.toml in the folder listing just your package and a Manifest.toml listing your package and all of its transitive dependencies.
It seems like there should be a dictionary or command that lets me query the registry to get the license name and the git repository location in one fail swoop. I can’t find that.
How does this handle external python or other libraries that may be brought in during the build process? Does it catch them all? Can this be done without installing first? Can a license be checked before it is downloaded?