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.
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.
nbdime
provides tools for diffing and merging of Jupyter Notebooks. It includes the following commands:
nbdiff compare notebooks in a terminal-friendly way
nbmerge three-way merge of notebooks with automatic conflict resolution
nbdiff-web rich rendered diff of notebooks
nbmerge-web web-based three-way merge tool for notebooks
nbshow 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.
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.
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.
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.
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.
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.
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.
paramz
is a lightweight parameterization framework for parameterized model creation and handling. Its features include:
Easy model creation with parameters.
Fast optimized access of parameters for optimization routines.
Memory efficient storage of parameters (only one copy in memory).
Renaming of parameters.
Intuitive printing of models and parameters.
Gradient saving directly inside parameters.
Gradient checking of parameters.
Optimization of parameters.
Jupyter notebook integration.
Efficient storage of models, for reloading.
Efficient caching.
Falcon is a web API framework for building microservices, application backends and higher-level frameworks. Among its features are:
Optimized and extensible code base
Routing via URI templates and REST-inspired resource classes
Access to headers and bodies through request and response classes
Request processing via middleware components and hooks
Idiomatic HTTP error responses
Straightforward exception handling
Unit testing support through WSGI helpers and mocks
Compatible with both CPython and PyPy
Cython support for better performance when used with CPython
PyPDF2 is a pure Python PDF library capable of:
extracting document information (title, author, …)
splitting documents page by page
merging documents page by page
cropping pages
merging multiple pages into a single page
encrypting and decrypting PDF files
By being pure Python, it should run on any Python platform without any dependencies on external libraries. It can also work entirely on StringIO
objects rather than file streams, allowing for PDF manipulation in memory. It is therefore a useful tool for websites that manage or manipulate PDFs.
This is a Python implementation of the zxcvbn
library created at Dropbox. The original library, written for JavaScript, can be found here. This port includes features such as:
Accepts user data to be added to the dictionaries that are tested against (name, birthdate, etc.)
Gives a score to the password, from 0 (terrible) to 4 (great).
Provides feedback on the password and ways to improve it.
Returns time estimates on how long it would take to guess the password in different situations.
Blosc2 is a high performance compressor optimized for binary data. It has been designed to transmit data to the processor cache faster than the traditional, non-compressed, direct memory fetch approach via a memcpy()
system call.
Python-Blosc2 wraps the C-Blosc2 library, and it aims to leverage its new API so as to support super-chunks, multi-dimensional arrays, serialization and other features introduced in C-Blosc2.
Python-Blosc2 also reproduces the API of Python-Blosc and is meant to be able to access its data, so it can be used as a drop-in replacement.
PyEGA3 is a tool for viewing and downloading files from authorized EGA datasets. It uses the EGA data API and has several key features:
Files are transferred over secure https connections and received unencrypted, so no need for decryption after download.
Downloads resume from where they left off in the event that the connection is interrupted.
Supports file segmenting and parallelized download of segments, improving overall performance.
After download completes, file integrity is verified using checksums.
Implements the GA4GH-compliant htsget protocol for download of genomic ranges for data files with accompanying index files.
Locust is a performance testing tool that aims to be easy to use, scriptable and scalable. The test scenarios are described in plain Python. It provides a web-based user interface to visualize the results in real-time, but can also be run non-interactively. Locust is primarily geared toward testing HTTP-based applications or services, but it can be customized to test any system or protocol.
Note: Locust will complain if the available open file descriptors limit for the user is too low. To raise such limit on a Guix System, refer to info guix --index-search=pam-limits-service-type.