PySM generates full-sky simulations of Galactic emissions in intensity and polarization relevant to Cosmic Microwave Background experiments. It is a large refactor of PySM 2 focused on reducing memory usage, improving performance and run in parallel with MPI.
Migen FHDL is a Python library that replaces the event-driven paradigm of Verilog and VHDL with the notions of combinatorial and synchronous statements, has arithmetic rules that make integers always behave like mathematical integers, and allows the design's logic to be constructed by a Python program.
Radon is a Python tool which computes various code metrics. Supported metrics are:
raw metrics: SLOC, comment lines, blank lines, &c.
Cyclomatic Complexity (i.e., McCabe’s Complexity)
Halstead metrics (all of them)
the Maintainability Index (a Visual Studio metric)
Annoy is a C++ library with Python bindings to search for points in space that are close to a given query point. It also creates large read-only file-based data structures that are mmap
ped into memory so that many processes may share the same data.
Mock is a library for testing in Python. It allows you to replace parts of your system under test with mock objects and make assertions about how they have been used. This library is now part of Python (since Python 3.3), available via the unittest.mock
module.
Ngesh is a Python library and CLI tool for simulating phylogenetic trees and data. It is intended for benchmarking phylogenetic methods, especially in historical linguistics andstemmatology. The generation of stochastic phylogenetic trees also goes by the name simulationmethods for phylogenetic trees, synthetic data generation, or just phylogenetic tree simulation.
Pyxel is a game engine inspired by retro gaming consoles. It has a fixed 16-color palette, can hold up to 3 image banks and 8 tilemaps (256x256 pixels each) and 4 sound channels with 64 definable sounds. It also comes with a built-in image and sound editor.
This package provides a way to record and replay device descriptions and events, making it possible to emulate input devices through the Linux kernel's input system. Emulated devices are for most practical purposes indistinguishable from real devices.
It provides a command line program and also a Python library.
The cliff
framework allows creating multi-level commands such as those of subversion
and git
, where the main program handles some basic argument parsing and then invokes a sub-command to do the work. It uses plugins to define sub-commands, output formatters, and other extensions.
This tool implements quantile normalization. It properly resolves rank ties, which is important when ties happen frequently, such as when working with discrete numbers (integers) in count tables. This implementation should be relatively fast, and can use multiple cores to sort the columns and tie-resolvement is accelerated by numba.
PyAMG is a Python library of Algebraic Multigrid (AMG) solvers. It features implementations of:
Ruge-Stuben (RS) or Classical AMG
AMG based on Smoothed Aggregation (SA)
Adaptive Smoothed Aggregation (αSA)
Compatible Relaxation (CR)
Krylov methods such as CG, GMRES, FGMRES, BiCGStab, MINRES, etc.
This package provides tools to convert files in the format used by multiple Spanish banks (standard 43 of the Spanish Banking Council [CSB43] / Spanish Banking Association [AEB43]) to other formats.
Supported output formats are: OFX, HomeBank CSV, HTML, JSON, ODS (OpenDocument spreadsheet), CSV, TSV, XLS, XLSX (Microsoft Excel spreadsheet), and YAML.
MAPIE allows you to easily estimate prediction intervals (or prediction sets) using your favourite scikit-learn-compatible model for single-output regression or multi-class classification settings.
Prediction intervals output by MAPIE encompass both aleatoric and epistemic uncertainties and are backed by strong theoretical guarantees thanks to conformal prediction methods intervals.
Flaky is a plugin for nose
or py.test
that automatically reruns flaky tests.
Ideally, tests reliably pass or fail, but sometimes test fixtures must rely on components that aren't 100% reliable. With flaky, instead of removing those tests or marking them to @skip
, they can be automatically retried.
Yapsy, or Yet Another Plugin SYstem, is a small library implementing the core mechanisms needed to build a plugin system into a wider application.
The main purpose is to depend only on Python's standard libraries and to implement only the basic functionalities needed to detect, load and keep track of several plugins.
MMTK is a library for molecular simulations with an emphasis on biomolecules. It provides widely used methods such as Molecular Dynamics and normal mode analysis, but also basic routines for implementing new methods for simulation and analysis. The library is currently not actively maintained and works only with Python 2 and NumPy < 1.9.
This module provides an xopen
function that works like Python's built-in open
function, but can also deal with compressed files. Supported compression formats are gzip, bzip2 and, xz, and are automatically recognized by their file extensions. The focus is on being as efficient as possible on all supported Python versions.
This is an easy-to-use implementation of ECDSA cryptography (Elliptic Curve Digital Signature Algorithm), implemented purely in Python. With this library, you can quickly create key pairs (signing key and verifying key), sign messages, and verify the signatures. The keys and signatures are very short, making them easy to handle and incorporate into other protocols.
This package is a Python-based command line interface for processing .bam files with mitochondrial reads and generating high-quality heteroplasmy estimation from sequencing data. The mgatk package places a special emphasis on mitochondrial genotypes generated from single-cell genomics data, primarily mtscATAC-seq, but is generally applicable across other assays.
python-pysox
is a wrapper around the sox
command line tool. The API offers Transformer
and Combiner
classes that allow the user to incrementally build up effects and audio manipulations. python-pysox
also provides methods for querying audio information such as sample rate, determining whether an audio file is silent, and much more.
Xenon is a monitoring tool based on Radon. It monitors code complexity. Ideally, xenon
is run every time code is committed. Through command line options, various thresholds can be set for the complexity of code. It will fail (i.e., it will exit with a non-zero exit code) when any of these requirements is not met.
Param is a library for handling all the user-modifiable parameters, arguments, and attributes that control your code. It provides automatic, robust error-checking while dramatically reducing boilerplate code, letting you focus on what you want your code to do rather than on checking for all the possible ways users could supply inappropriate values to a function or class.
Scapy is a Python library and executable for interactively manipulating network packets. It can forge or decode packets of a number of protocols, send them on the wire, capture them, store or read them using pcap files, match requests and replies, and so on. It can handle tasks such as scanning, tracerouting, probing, unit tests, attacks or network discovery.
python-dpath
is a library for accessing and searching dictionaries via /slashed/paths ala xpath.
Basically it lets you glob over a dictionary as if it were a file system. It allows you to specify globs (ala the bash eglob syntax, through some advanced fnmatch.fnmatch magic) to access dictionary elements, and provides some facility for filtering those results.