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.
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.
XDF is a general-purpose container format for multi-channel time series data with extensive associated meta information. XDF is tailored towards biosignal data such as EEG, EMG, EOG, ECG, GSR, MEG, but it can also handle data with high sampling rate (like audio) or data with a high number of channels (like fMRI or raw video). Meta information is stored as XML.
AEnum is a set of symbolic names (members) bound to unique, constant values. Within an enumeration, the members can be compared by identity, and the enumeration itself can be iterated over. There is built-in support for unique values, multiple values, auto-numbering, and suspension of aliasing (members with the same value are not identical), plus the ability to have values automatically bound to attributes.
SunPy is package for solar physics and is meant to be a free alternative to the SolarSoft data analysis environment.
It includes an interface for searching and downloading data from multiple data providers, data containers for image and time series data, commonly used solar coordinate frames and associated transformations, as well as other functionality needed for solar data analysis.
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.
Chaco is a Python package for building interactive and custom 2-D plots and visualizations. Chaco facilitates writing plotting applications at all levels of complexity, from simple scripts with hard-coded data to large plotting programs with complex data interrelationships and a multitude of interactive tools. While Chaco generates attractive static plots for publication and presentation, Chaco differs from tools like Matplotlib in that it also works well for dynamic interactive data visualization and exploration.
Abjad helps composers build up complex pieces of music notation in iterative and incremental ways. Use Abjad to create a symbolic representation of all the notes, rests, chords, tuplets, beams and slurs in any score. Because Abjad extends the Python programming language, you can use Abjad to make systematic changes to music as you work. Because Abjad wraps the LilyPond music notation package, you can use Abjad to control the typographic detail of symbols on the page.
skpro is a unified framework for tabular probabilistic regression, time-to-event prediction, and probability distributions in Python.
It provides scikit-learn-like, scikit-base compatible interfaces to:
tabular supervised regressors for probabilistic prediction
tabular probabilistic time-to-event and survival prediction
metrics to evaluate probabilistic predictions
reductions to turn
scikit-learnregressors into probabilisticskproregressorsbuilding pipelines and composite models
symbolic probability distributions
Numba gives you the power to speed up your applications with high performance functions written directly in Python. With a few annotations, array-oriented and math-heavy Python code can be just-in-time compiled to native machine instructions, similar in performance to C, C++ and Fortran, without having to switch languages or Python interpreters.
Numba works by generating optimized machine code using the LLVM compiler infrastructure at import time, runtime, or statically (using the included pycc tool).
OSMnx is a Python library that lets you download geospatial data from OpenStreetMap and model, project, visualize, and analyze real-world street networks and any other geospatial geometries. You can download and model walkable, drivable, or bikeable urban networks with a single line of Python code then easily analyze and visualize them. You can just as easily download and work with other infrastructure types, amenities/points of interest, building footprints, elevation data, street bearings/orientations, and speed/travel time.
This package provides Python bindings to Zulip's API.
Included common integrations and bridges are located in share/zulip/integrations or in lib/<...>/site-packages/integrations:
bridge_between_zulips
bridge_with_irc
bridge_with_matrix
bridge_with_slack
codebase
git
google
hg
jabber
jira
litellm
log2zulip
nagios
openshift
perforce
rss
svn
trac
trello
twitter
zephyr
This package provides a history of astronomy library. Current Features:
define standard positional numeral systems with standard arithmetics (BasedReal)
set your own precision contexts and algorithms on arithmetical operations (PrecisionContext)
keep track of all operations
build or import ancient astronomical tables
perform arithmetical and statistical operations
support for BasedReal values
define new calendar types
date conversions
collection of mathematical models used for all kinds of geocentric astronomical tables
Fiona is GDAL’s neat and nimble vector API for Python programmers. Fiona is designed to be simple and dependable. It focuses on reading and writing data in standard Python IO style and relies upon familiar Python types and protocols such as files, dictionaries, mappings, and iterators instead of classes specific to OGR. Fiona can read and write real-world data using multi-layered GIS formats and zipped virtual file systems and integrates readily with other Python GIS packages such as pyproj, Rtree, and Shapely.