Report of environment package versions and hardware resources

I would like to get a report of my environment package versions and hardware resources like Scooby does in Python (image below), but for Julia, is there a package or a way to do that?

Well, nothing that would generate precisely such a table (you’d have to implement this yourself) but the info can be queried. For example:

julia> Sys.ARCH
:x86_64

julia> Sys.MACHINE
"x86_64-apple-darwin22.4.0"

julia> Sys.isapple()
true

julia> Sys.total_memory() |> Base.format_bytes
"16.000 GiB"

julia> Sys.CPU_THREADS
12

julia> Sys.cpu_summary()
Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz:
          speed         user         nice          sys         idle          irq
#1-12  2600 MHz    1877003 s          0 s     801025 s   25060994 s          0 s

If you want more information about the CPU, you can try:

julia> using CpuId

julia> cpuinfo()
  Cpu Property       Value
  –––––––––––––––––– ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
  Brand              Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  Vendor             :Intel
  Architecture       :Kabylake
  Model              Family: 0x06, Model: 0x9e, Stepping: 0x0a, Type: 0x00
  Cores              6 physical cores, 12 logical cores (on executing CPU)
                     Hyperthreading hardware capability detected
  Clock Frequencies  2600 / 4500 MHz (base/max), 100 MHz bus
  Data Cache         Level 1:3 : (32, 256, 12288) kbytes
                     64 byte cache line size
  Address Size       48 bits virtual, 39 bits physical
  SIMD               256 bit = 32 byte max. SIMD vector size
  Time Stamp Counter TSC is accessible via `rdtsc`
                     TSC runs at constant rate (invariant from clock frequency)
  Perf. Monitoring   Performance Monitoring Counters (PMC) revision 4
                     Available hardware counters per logical core:
                     3 fixed-function counters of 48 bit width
                     4 general-purpose counters of 48 bit width
  Hypervisor         No

And for the environment package versions:

julia> using Pkg

julia> Pkg.status()
Status `/private/var/folders/1d/sbf5s24x6y306tgv_4hh06y00000gn/T/tmp.BFVQ4Oai/Project.toml`
  [6e4b80f9] BenchmarkTools v1.3.2
  [295af30f] Revise v3.5.3
  [811555cd] ThreadPinning v0.7.8
2 Likes