Comprehensive Package Info

Is there a command in Julia that will print information about Julia packages installed (similar to this in Python)

C:\Users\unknown\LocalData\DevArea\projects>pip show TensorFlow
Name: tensorflow
Version: 2.3.1
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://www.tensorflow.org/
Author: Google Inc.
Author-email: packages@tensorflow.org
License: Apache 2.0
Location: c:\programdata\anaconda3\lib\site-packages
Requires: astunparse, grpcio, google-pasta, gast, opt-einsum, tensorflow-estimator, six, keras-preprocessing, wrapt, protobuf, wheel, numpy, termcolor, h5py, tensorboard, absl-py
Required-by:

2 Likes

Not on the command line, no. But you can get similar information on JuliaHub: For example: JuliaHub

2 Likes

Can a module have a docstring?

Yes:

julia> using LinearAlgebra

help?> LinearAlgebra
search: LinearAlgebra

  Linear algebra module. Provides array arithmetic, matrix factorizations and other linear algebra related functionality.
3 Likes

Nice, so we just need to think about establishing a template which can be widely accepted and we have a solution

2 Likes

I am not sure why you need a template for module docstrings, but I don’t think it is the right place for package information, as packages and modules do not necessarily map 1:1.

I think that JuliaHub is the right solution for this, easier to search etc.

1 Like

I’m new to Julia, but in my experience there is limited, locally available package/module level documentation. The docstrings for an installed module cannot be accessed from the ? mode for the REPL without using TheModule first.

The Perl Data Language (PDL) approach is to install PDL modules documentation into the site database. There is documentation using the Perl Plain Old Documentation (pod) in-line documentation together with specific entries to support features for PDL modules from PDL::Doc.

All of the PDL module and functions can be searched from the PDL REPL help and apropos commands in the perldl or pdl shells.

The apropos command is made more effective by standardizing on a short, one line description (the Ref string) which is searched on rather than on the textual content of the PDL/perl source code and documentation.

The apropos output includes the topic found, the Ref string and the package or module name where it is found. It is very easy to search all installed PDL modules for functions and then use the pdldoc command to view the full module documentation without requiring the user to know what they are looking for and/or where to find it before they have found it…

One way to put it (ok, maybe slightly snarky :wink:) is that Julia has managed to solve the 2 language programming problem at the expense of introducing a [sort of] 2 language documentation problem.