SNData provides an access to data releases published by a variety of supernova (SN) surveys. It is designed to support the development of scalable analysis pipelines that translate with minimal effort between and across data sets. A summary of accessible data is provided below. Access to additional surveys is added upon request or as needed for individual research projects undertaken by the developers.
There are various file formats available for representing unstructured meshes and mesh data. The meshio package is able to read and write mesh files in many formats and to convert files from one format to another. Formats such as cgns, h5m, gmsh, xdmf and vtk are supported. The package provides command-line tools and a collection of Python modules for programmatic use.
OneTBB is a C++ runtime library that abstracts the low-level threading details necessary for optimal multi-core performance. It uses common C++ templates and coding style to eliminate tedious threading implementation work. It provides parallel loop constructs, asynchronous tasks, synchronization primitives, atomic operations, and more. python-onetbb enables threading composability between two or more thread-enabled Python libraries.
This Python module uses matplotlib to visualize multidimensional samples using a scatterplot matrix. In these visualizations, each one- and two-dimensional projection of the sample is plotted to reveal covariances. corner was originally conceived to display the results of Markov Chain Monte Carlo simulations and the defaults are chosen with this application in mind but it can be used for displaying many qualitatively different samples.
Xarray (formerly xray) makes working with labelled multi-dimensional arrays simple, efficient, and fun!
Xarray introduces labels in the form of dimensions, coordinates and attributes on top of raw NumPy-like arrays, which allows for a more intuitive, more concise, and less error-prone developer experience. The package includes a large and growing library of domain-agnostic functions for advanced analytics and visualization with these data structures.
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.
This package provides Python modules that abstract many formats of Debian-related files, such as:
Debtags information;
debian/changelogfiles;packages files, pdiffs;
control files of single or multiple RFC822-style paragraphs---e.g.
debian/control,.changes,.dsc;Raw
.deband.arfiles, with (read-only) access to contained files and meta-information.
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.
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.