tablib is a format-agnostic tabular dataset library, written in Python. Supported output formats are Excel (Sets + Books), JSON (Sets + Books), YAML (Sets + Books), HTML (Sets), Jira (Sets), TSV (Sets), ODS (Sets), CSV (Sets), and DBF (Sets).
tablib also supports Pandas DataFrames (Sets). Anyhow, since pandas is quite huge, this Guix package doesn't depend on pandas. In case, just also install python-pandas.
LibCST parses Python source code as a CST tree that keeps all formatting details (comments, whitespaces, parentheses, etc). It's useful for building automated refactoring (codemod) applications and linters. LibCST creates a compromise between an Abstract Syntax Tree (AST) and a traditional Concrete Syntax Tree (CST). By carefully reorganizing and naming node types and fields, LibCST creates a lossless CST that looks and feels like an AST.
NumPy is the fundamental package for scientific computing with Python. It contains among other things: a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, useful linear algebra, Fourier transform, and random number capabilities. Version 1.8 is the last one to contain the numpy.oldnumeric API that includes the compatibility layer numpy.oldnumeric with NumPy's predecessor Numeric.
This package provides a Python CDF reader toolkit.
It provides the following functionality:
Ability to read variables and attributes from CDF files
Writes CDF version 3 files
Can convert between CDF time types (EPOCH/EPOCH16/TT2000) to other common time formats
Can convert CDF files into XArray Dataset objects and vice versa, attempting to maintain ISTP compliance
The Python pyperf module is a toolkit for writing, running and analyzing benchmarks. It features a simple API that can:
automatically calibrate a benchmark for a time budget;
spawn multiple worker processes;
compute the mean and standard deviation;
detect if a benchmark result seems unstable;
store benchmark results in JSON format;
support multiple units: seconds, bytes and integer.
JAXopt provides hardware accelerated, batchable and differentiable optimizers in JAX.
Hardware accelerated: the implementations run on GPU and TPU, in addition to CPU.
Batchable: multiple instances of the same optimization problem can be automatically vectorized using JAX’s
vmap.Differentiable: optimization problem solutions can be differentiated with respect to their inputs either implicitly or via autodiff of unrolled algorithm iterations.
nbdime provides tools for diffing and merging of Jupyter Notebooks. It includes the following commands:
nbdiff compare notebooks in a terminal-friendly waynbmerge three-way merge of notebooks with automatic conflict resolutionnbdiff-web rich rendered diff of notebooksnbmerge-web web-based three-way merge tool for notebooksnbshow present a single notebook in a terminal-friendly way
psutil (Python system and process utilities) is a library for retrieving information on running processes and system utilization (CPU, memory, disks, network) in Python. It is useful mainly for system monitoring, profiling and limiting process resources and management of running processes. It implements many functionalities offered by command line tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap.
This package provides a Python library for reading from and writing to FITS files using the CFITSIO library. Among other things, it can
read and write image, binary, and ascii table extensions;
read arbitrary subsets of tables in a lazy manner;
query the rows and columns of a table;
read and write header keywords;
read and write Gzip files.
This is a Python library that aims to provide functions to handle, parse and validate standard numbers. The module supports more than 100 different number formats amongst which a great number of VAT and other tax numbers, personal identity and company identification codes, international standard numbers (ISBN, IBAN, EAN, etc.) and various other formats. The module also includes implementations of the Verhoeff, Luhn and family of ISO/IEC 7064 check digit algorithms.
Cobaya, and Spanish for Guinea Pig) is a framework for sampling and statistical modelling: it allows you to explore an arbitrary prior or posterior using a range of Monte Carlo samplers (including the advanced MCMC sampler from CosmoMC, and the advanced nested sampler PolyChord). The results of the sampling can be analysed with GetDist. It supports MPI parallelization (and very soon HPC containerization with Docker/Shifter and Singularity).
Pylint is a Python source code analyzer which looks for programming errors, helps enforcing a coding standard and sniffs for some code smells (as defined in Martin Fowler's Refactoring book).
Pylint has many rules enabled by default, way too much to silence them all on a minimally sized program. It's highly configurable and handle pragmas to control it from within your code. Additionally, it is possible to write plugins to add your own checks.
This module provides a nearly complete wrapping of the Oracle/Sleepycat C API for the Database Environment, Database, Cursor, Log Cursor, Sequence and Transaction objects, and each of these is exposed as a Python type in the bsddb3.db module. The database objects can use various access methods: btree, hash, recno, and queue. Complete support of Berkeley DB distributed transactions. Complete support for Berkeley DB Replication Manager. Complete support for Berkeley DB Base Replication. Support for RPC.
FTP client and server for asyncio (Python 3) Library implementing FTP protocol, both client and server for Python asyncio module.
Supported commands as client: USER, PASS, ACCT, PWD, CWD, CDUP, MKD, RMD, MLSD, MLST, RNFR, RNTO, DELE, STOR, APPE, RETR, TYPE, PASV, ABOR, QUIT, REST, LIST (as fallback).
Supported commands as server: USER, PASS, QUIT, PWD, CWD, CDUP, MKD, RMD, MLSD, LIST (non-standard), MLST, RNFR, RNTO, DELE, STOR, RETR, TYPE ("I" and "A"), PASV, ABOR, APPE, REST.
PypeIt is a Python package for semi-automated reduction of astronomical spectroscopic data. Its algorithms build on decades-long development of previous data reduction pipelines by the developers.
It is designed to be used by both advanced spectroscopists with prior data reduction expertise and astronomers with no prior experience of data reduction. It is highly configurable and designed to be applied to any standard slit-imaging spectrograph, including long-slit, multi-slit, as well as cross-dispersed echelle spectra.
folium makes it easy to visualize data that’s been manipulated in Python on an interactive leaflet map. It enables both the binding of data to a map for choropleth visualizations as well as passing rich vector/raster/HTML visualizations as markers on the map.
The library has a number of built-in tilesets from OpenStreetMap, Mapbox, and Stamen, and supports custom tilesets with Mapbox or Cloudmade API keys. It supports Image, Video, GeoJSON and TopoJSON overlays.
JAX is Autograd and XLA, brought together for high-performance numerical computing, including large-scale machine learning research. With its updated version of Autograd, JAX can automatically differentiate native Python and NumPy functions. It can differentiate through loops, branches, recursion, and closures, and it can take derivatives of derivatives of derivatives. It supports reverse-mode differentiation (a.k.a. backpropagation) via grad as well as forward-mode differentiation, and the two can be composed arbitrarily to any order.
The Scooby package reports the following information about the currently running system:
operating system name;
hardware information including machine type (e.g., i386, x86_64, etc.), CPU count and total RAM;
Python environment (e.g., Python, IPython, etc.);
file system name;
Python version;
versions of specified Python packages.
It can generate reports as HTML tables or plain text lists.
Scooby has no required dependencies, and only few optional dependencies.
MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for the Python programming language, allowing any Python program to exploit multiple processors.
mpi4py is constructed on top of the MPI-1/MPI-2 specification and provides an object oriented interface which closely follows MPI-2 C++ bindings. It supports point-to-point and collective communications of any picklable Python object as well as optimized communications of Python objects (such as NumPy arrays) that expose a buffer interface.
This module implements the password-based key derivation function, PBKDF2, specified in RSA PKCS#5 v2.0.
PKCS#5 v2.0 Password-Based Key Derivation is a key derivation function which is part of the RSA Public Key Cryptography Standards series. The provided implementation takes a password or a passphrase and a salt value (and optionally a iteration count, a digest module, and a MAC module) and provides a file-like object from which an arbitrarily-sized key can be read.
PyRuSH is the python implementation of RuSH, which is originally developed using Java. RuSH is an efficient, reliable, and easy adaptable rule-based sentence segmentation solution. It is specifically designed to handle the telegraphic written text in clinical note. It leverages a nested hash table to execute simultaneous rule processing, which reduces the impact of the rule-base growth on execution time and eliminates the effect of rule order on accuracy.
Defcon is a set of UFO based objects optimized for use in font editing applications. The objects are built to be lightweight, fast and flexible. The objects are very bare-bones and they are not meant to be end-all, be-all objects. Rather, they are meant to provide base functionality so that you can focus on your application’s behavior, not object observing or maintaining cached data. Defcon implements UFO3 as described by the UFO font format.
MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for the Python programming language, allowing any Python program to exploit multiple processors.
mpi4py is constructed on top of the MPI-1/MPI-2 specification and provides an object oriented interface which closely follows MPI-2 C++ bindings. It supports point-to-point and collective communications of any picklable Python object as well as optimized communications of Python objects (such as NumPy arrays) that expose a buffer interface.
ndcube is a package for manipulating, inspecting and visualizing multi-dimensional contiguous and non-contiguous coordinate-aware data arrays.
It combines data, uncertainties, units, metadata, masking, and coordinate transformations into classes with unified slicing and generic coordinate transformations and plotting/animation capabilities. It is designed to handle data of any number of dimensions and axis types (e.g. spatial, temporal, spectral, etc.) whose relationship between the array elements and the real world can be described by WCS translations.