Skip to main content

sinfo

sinfo prints version information for loaded modules in the current session, Python, the OS, and the CPU. It is designed as a minimum measure to increase reproducibility and provides similar information as sessionInfo in R. The name is shortened to encourage regular usage through reduced typing =)

Motivation

sinfo is particularly useful when conducting exploratory data analysis in Jupyter Notebooks. Listing the version numbers of all loaded modules after importing them is a simple way to ensure a minimum level of reproducibility while requiring little additional effort. This practice is useful both when revisiting notebooks and when sharing them with colleagues. sinfo is meant to complement more robust practices such as frozen virtual environments, containers, and binder Notebooks.

Installation

sinfo can be installed via pip install sinfo. It does not rely on a package manager to find version numbers since it fetches them from the module's version string. Its only dependency is stdlib_list, which is used to distinguish between standard library and third party modules.

Usage

import math

import natsort
import numpy
import pandas
from sinfo import sinfo


sinfo()

Output:

natsort         5.3.3
numpy           1.15.2
pandas          0.23.4
-----
Python 3.6.8 |Anaconda custom (64-bit)| (default, Dec 30 2018, 01:22:34) [GCC 7.3.0]
Linux-4.20.1-arch1-1-ARCH-x86_64-with-arch
-----
Session information updated at 2019-02-03 02:31

The default behavior is to only print modules not in the standard library, which is why the math module is omitted above (it can be included by specifying print_std_lib=True). To see not only the explicitly imported modules but also any dependencies they import, specify print_implicit=True. See the docstring for complete parameter info.

Background

sinfo started as minor modifications of py_session, and as it grew it became convenient to create a new package. sinfo was built with the help of information provided in stackoverflow answers and existing similar packages, including

Release files for sinfo 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sinfo 0.2.0
File Size Uploaded
sinfo-0.2.0.tar.gz 20.2 kB Details

Release files / sinfo-0.2.0.tar.gz

Download URL sinfo-0.2.0.tar.gz
Size 20.2 kB
Tags Source
SHA-256 checksum
How to use checksums
11d48919e68f474e4258822dd7aa39dcb5c90ebdb9a171ddc5651a85c2b73a62
BLAKE2b-256 checksum
How to use checksums
61496621c7c8eec5eea105ae37b25739a0d170b37419505978589cf85ced9ee9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.8

Release history Release notifications | RSS feed

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

This release

0.2.0 This release

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page