# sessionInfo() in Julia

**URL:** https://discourse.julialang.org/t/sessioninfo-in-julia/10151
**Category:** General Usage
**Created:** [April 4, 2018, 8:22am UTC](https://discourse.julialang.org/t/sessioninfo-in-julia/10151 "2018-04-04T08:22:48Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Nosferican](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nosferican/32/9275_2.png) [@Nosferican](https://discourse.julialang.org/u/Nosferican)
#### Post date: [April 4, 2018, 8:22am UTC](https://discourse.julialang.org/t/sessioninfo-in-julia/10151/1 "2018-04-04T08:22:49Z")

</div>

A good practice for reproducible research and code is to report the session information. I believe there should be a better and more complete solution especially relying on [Revise.jl](https://github.com/timholy/Revise.jl) and hopefully is something implemented in [Pkg3](https://discourse.julialang.org/t/pkg3-plan-and-status/9763). My patch up version is

```julia
using Pkg
function sessioninfo()
    println("Julia " * string(VERSION))
    for (key, version) ∈ sort(collect(Pkg.installed()))
        try
            isa(eval(Symbol(key)), Module) && println(key * " " * string(version))
        end
    end
end

```

---

<div class="post-metadata">

### Author: ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)
#### Post date: [April 4, 2018, 8:29am UTC](https://discourse.julialang.org/t/sessioninfo-in-julia/10151/2 "2018-04-04T08:29:45Z")

</div>

The Pkg3 Manifest.toml file contains all packages for the project and what versions they are installed at. And if someone gives you a Project.toml + Manifest.toml you can “instantiate” that exact environment.
