PYHDF4 is a python wrapper around the NCSA HDF version 4 library, which implements the SD (Scientific Dataset), VS (Vdata) and V (Vgroup) API’s. NetCDF files can also be read and modified. It is a successor of Python-HDF4 which is a fork of pyhdf.
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.
ObsPy
is a project dedicated to provide a Python framework for processing seismological data. It provides parsers for common file formats, clients to access data centers and seismological signal processing routines which allow the manipulation of seismological time series.
The goal of the ObsPy project is to facilitate rapid application development for seismology.
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.
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 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.
Lmfit provides a high-level interface to non-linear optimization and curve fitting problems for Python. It builds on and extends many of the optimization methods of scipy.optimize
. Initially inspired by (and named for) extending the Levenberg-Marquardt method from scipy.optimize.leastsq
, lmfit now provides a number of useful enhancements to optimization and data fitting problems.
Pylru implements a true LRU cache along with several support classes. Pylru provides a cache class with a simple dict interface. It also provides classes to wrap any object that has a dict interface with a cache. Both write-through and write-back semantics are supported. Pylru also provides classes to wrap functions in a similar way, including a function decorator.
This module uses ctypes to access the libmagic file type identification library. It makes use of the local magic database and supports both textual and MIME-type output. Note that this module and the python-file module both provide a "magic.py" file; these two modules, which are different and were developed separately, both serve the same purpose: to provide Python bindings for libmagic.
The aim of Kombu is to make messaging in Python as easy as possible by providing an idiomatic high-level interface for the AMQ protocol, and also provide proven and tested solutions to common messaging problems. AMQP is the Advanced Message Queuing Protocol, an open standard protocol for message orientation, queuing, routing, reliability and security, for which the RabbitMQ messaging server is the most popular implementation.
FabIO is an I/O library for images produced by 2D X-ray detectors and written in Python. FabIO support images detectors from a dozen of companies (including Mar, Dectris, ADSC, Hamamatsu, Oxford, …), for a total of 30 different file formats (like CBF, EDF, TIFF, …) and offers an unified interface to their headers (as a Python dictionary) and datasets (as a numpy ndarray of integers or floats).
Blosc 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.
Blosc works well for compressing numerical arrays that contains data with relatively low entropy, like sparse data, time series, grids with regular-spaced values, etc.
This Python package wraps the Blosc library.
This tool provides a Python framework to streamline genomics operations. It offers a direct interface to Ensembl genome assemblies and annotations, while also accommodating custom genomes via FASTA/GTF inputs. The primary objective of pybio is to simplify genome management. It achieves this by providing automatic download of Ensembl genome assemblies and annotation, provides Python genomic feature search and sequence retrieval from the managed genomes, STAR indexing and mapping and more.
In data compression, BCJ, short for Branch-Call-Jump, refers to a technique that improves the compression of machine code of executable binaries by replacing relative branch addresses with absolute ones. This allows a LZMA compressor to identify duplicate targets and archive higher compression rate. BCJ is used in the 7-zip compression utility as the default filter for executable binaries.
pybcj provides Python bindings to a BCJ implementation in C.
SpaCy is a library for advanced Natural Language Processing in Python and Cython. It comes with pretrained pipelines and currently supports tokenization and training for 70+ languages. It features state-of-the-art speed and neural network models for tagging, parsing, named entity recognition, text classification and more, multi-task learning with pretrained transformers like BERT, as well as a production-ready training system and easy model packaging, deployment and workflow management.
Python-evdev provides bindings to the generic input event interface in Linux. The evdev
interface serves the purpose of passing events generated in the kernel directly to userspace through character devices that are typically located in /dev/input/
.
This package also comes with bindings to uinput
, the userspace input subsystem. uinput
allows userspace programs to create and handle input devices that can inject events directly into the input subsystem.
Pyro is a Distributed Object Technology system written in Python that is designed to be easy to use. It resembles Java's Remote Method Invocation (RMI). It has less similarity to CORBA, which is a system and language independent Distributed Object Technology and has much more to offer than Pyro or RMI. Pyro 3.x is no longer maintained. New projects should use Pyro4 instead, which is the new Pyro version that is actively developed.
Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow. It was developed with a focus on enabling fast experimentation. Use Keras if you need a deep learning library that:
Allows for easy and fast prototyping (through user friendliness, modularity, and extensibility).
Supports both convolutional networks and recurrent networks, as well as combinations of the two.
Runs seamlessly on CPU and GPU.