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.
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.
AlgoPy provides a functionality to differentiate functions implemented as computer programs by using Algorithmic Differentiation (AD) techniques in the forward and reverse mode.
The forward mode propagates univariate Taylor polynomials of arbitrary order. Hence it is also possible to use AlgoPy to evaluate higher-order derivative tensors. The reverse mode is also known as backpropagation and can be found in similar form in tools like PyTorch. Speciality of AlgoPy is the possibility to differentiate functions that contain matrix functions as +,-,*,/, dot, solve, qr, eigh, cholesky.
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.