# Comprehensive Package Info

**URL:** https://discourse.julialang.org/t/comprehensive-package-info/58025
**Category:** Package Management
**Tags:** package
**Created:** [March 26, 2021, 3:15pm UTC](https://discourse.julialang.org/t/comprehensive-package-info/58025 "2021-03-26T15:15:02Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![chuckaknight](https://avatars.discourse-cdn.com/v4/letter/c/8797f3/32.png) [@chuckaknight](https://discourse.julialang.org/u/chuckaknight)
#### Post date: [March 26, 2021, 3:15pm UTC](https://discourse.julialang.org/t/comprehensive-package-info/58025/1 "2021-03-26T15:15:02Z")

</div>

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/](https://www.tensorflow.org/)  
Author: Google Inc.  
Author-email: [packages@tensorflow.org](mailto: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:

---

<div class="post-metadata">

### Author: ![avik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avik/32/17_2.png) [@avik](https://discourse.julialang.org/u/avik)
#### Post date: [March 26, 2021, 5:52pm UTC](https://discourse.julialang.org/t/comprehensive-package-info/58025/2 "2021-03-26T17:52:23Z")

</div>

Not on the command line, no. But you can get similar information on JuliaHub: For example: [JuliaHub](https://juliahub.com/ui/Packages/Flux/QdkVy/)

---

<div class="post-metadata">

### Author: ![mschauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mschauer/32/13946_2.png) [@mschauer](https://discourse.julialang.org/u/mschauer)
#### Post date: [March 26, 2021, 8:28pm UTC](https://discourse.julialang.org/t/comprehensive-package-info/58025/3 "2021-03-26T20:28:13Z")

</div>

Can a module have a docstring?

---

<div class="post-metadata">

### Author: ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)
#### Post date: [March 26, 2021, 8:30pm UTC](https://discourse.julialang.org/t/comprehensive-package-info/58025/4 "2021-03-26T20:30:29Z")

</div>

> [@mschauer](#):
>
> Can a module have a docstring?

Yes:

```Julia
julia> using LinearAlgebra

help?> LinearAlgebra
search: LinearAlgebra

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

```

---

<div class="post-metadata">

### Author: ![mschauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mschauer/32/13946_2.png) [@mschauer](https://discourse.julialang.org/u/mschauer)
#### Post date: [March 26, 2021, 8:34pm UTC](https://discourse.julialang.org/t/comprehensive-package-info/58025/5 "2021-03-26T20:34:16Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [March 27, 2021, 4:32pm UTC](https://discourse.julialang.org/t/comprehensive-package-info/58025/6 "2021-03-27T16:32:04Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![devel-chm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/devel-chm/32/3572_2.png) [@devel-chm](https://discourse.julialang.org/u/devel-chm)
#### Post date: [March 27, 2021, 5:20pm UTC](https://discourse.julialang.org/t/comprehensive-package-info/58025/7 "2021-03-27T17:20:40Z")

</div>

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)](http://pdl.perl.org) approach is to install PDL modules documentation into the site database. There is documentation using the [Perl Plain Old Documentation (pod)](https://perldoc.perl.org/perlpod) in-line documentation together with specific entries to support features for PDL modules from [PDL::Doc](http://pdl.perl.org/?docs=Doc&title=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 😉) is that Julia has managed to solve the 2 language programming problem at the expense of introducing a [sort of] 2 language documentation problem.
