GitPython is a python library used to interact with Git repositories, high-level like git-porcelain, or low-level like git-plumbing.
It provides abstractions of Git objects for easy access of repository data, and additionally allows you to access the Git repository more directly using either a pure Python implementation, or the faster, but more resource intensive git
command implementation.
Traitlets is a framework that lets Python classes have attributes with type checking, dynamically calculated default values, and ‘on change’ callbacks. The package also includes a mechanism to use traitlets for configuration, loading values from files or from command line arguments. This is a distinct layer on top of traitlets, so you can use traitlets in your code without using the configuration machinery.
Fakeredis is a pure-Python implementation of the redis-py Python client that simulates talking to a redis server. It was created for a single purpose: to write unit tests.
Setting up redis is not hard, but one often wants to write unit tests that don't talk to an external server such as redis. This module can be used as a reasonable substitute.
Easy ANSI is a terminal framework API to give you an easy way to use colors, cursor control movements, and line/box drawing. It is not meant as a replacement to more full-featured frameworks (such as curses or urwid), but as a tool to quickly create nice-looking screens in your terminal window. You can even create animations with the cursor controls.
The iniconfig
package provides a small and simple INI-file parser module having a unique set of features ; iniconfig
maintains the order of sections and entries ;
supports multi-line values with or without line-continuations ;
supports "#" comments everywhere ;
raises errors with proper line-numbers ;
raises an error when two sections have the same name.
duniterpy
is an implementation of duniter API. Its main features are:
Support Duniter's Basic Merkle API and protocol
Asynchronous/synchronous without threads
Support HTTP, HTTPS and Web Socket transport for Basic Merkle API
Support Elasticsearch Duniter4j API
Duniter signing key
Sign/verify and encrypt/decrypt messages with the Duniter credentials
This package implements a functionality for creating, editing and loading COLLADA,which is a COLLAborative Design Activity for establishing an interchange file format for interactive 3D applications.
The library allows you to load a COLLADA file and interact with it as a python object. In addition, it supports creating a collada python object from scratch, as well as in-place editing.
This package implements a functionality to tell whether two images look nearly identical. The image hash algorithms (average, perceptual, difference, wavelet) analyse the image structure on luminance (without color information). The color hash algorithm analyses the color distribution and black & gray fractions (without position information).
Features:
average hashing
perceptual hashing
difference hashing
wavelet hashing
HSV color hashing (colorhash)
crop-resistant hashing
FastRLock is a C-level implementation of an optimistic lock for CPython which can be used as a replacement for threading.RLock
. It is implemented in Cython and offers a C-API for direct use from Cython code. The lock is 10x faster than threading.RLock
under normal conditions and 10% faster under congestion, making it a faster option than the revised RLock implementation in Python 3.2.
python-webcolors
is a module for working with HTML/CSS color definitions. Normalizing and converting between the following formats is supported.
Specification-defined color names
Six-digit hexadecimal
Three-digit hexadecimal
Integer rgb() triplet
Percentage rgb() triplet
Only the RGB colorspace is supported. Conversion to/from the HSL colorspace can be handled by the colorsys
module in the Python standard library.
Python makes loading code dynamically easy, allowing you to configure and extend your application by discovering and loading extensions ("plugins") at runtime. Many applications implement their own library for doing this, using __import__ or importlib. Stevedore avoids creating yet another extension mechanism by building on top of setuptools entry points. The code for managing entry points tends to be repetitive, though, so stevedore provides manager classes for implementing common patterns for using dynamically loaded extensions.
This package addresses the challenge of handling large amounts of data that are now routinely generated from DNA sequencing centers. deepTools
contains useful modules to process the mapped reads data for multiple quality checks, creating normalized coverage files in standard bedGraph and bigWig file formats, that allow comparison between different files. Finally, using such normalized and standardized files, deepTools can create many publication-ready visualizations to identify enrichments and for functional annotations of the genome.
This package is a stand-alone implementation of several NumPy dtype
extensions used in machine learning libraries, including:
bfloat16
: an alternative to the standardfloat16
formatfloat8_*
: several experimental 8-bit floating point representations including:float8_e4m3b11fnuz
float8_e4m3fn
float8_e4m3fnuz
float8_e5m2
float8_e5m2fnuz
int4
anduint4
: low precision integer types.
POLIASTRO is a Python library for interactive Astrodynamics and Orbital Mechanics, with a focus on ease of use, speed, and quick visualization. It provides a simple and intuitive API, and handles physical quantities with units.
Some features include orbit propagation, solution of the Lambert's problem, conversion between position and velocity vectors and classical orbital elements and orbit plotting, among others. It focuses on interplanetary applications, but can also be used to analyze artificial satellites in Low-Earth Orbit (LEO).
Codespell fixes common misspellings in text files. It's designed primarily for checking misspelled words in source code, but it can be used with other files as well. It does not check for word membership in a complete dictionary, but instead looks for a set of common misspellings. Therefore it should catch errors like "adn", but it will not catch "adnasdfasdf". This also means it shouldn't generate false-positives when you use a niche term it doesn't know about.
NbClassic provides a backwards compatible Jupyter Notebook interface that you can install side-by-side with the latest versions: That way, you can fearlessly upgrade without worrying about your classic extensions and customizations breaking. Because NbClassic provides the classic interface on top of the new Jupyter Server backend, it can coexist with other frontends like JupyterLab and Notebook 7 in the same installation. NbClassic preserves the custom classic notebook experience under a new set of URL endpoints, under the namespace /nbclassic/
.
Pairtools is a simple and fast command-line framework to process sequencing data from a Hi-C experiment. Process pair-end sequence alignments and perform the following operations:
detect ligation junctions (a.k.a. Hi-C pairs) in aligned paired-end sequences of Hi-C DNA molecules
sort
.pairs
files for downstream analysesdetect, tag and remove PCR/optical duplicates
generate extensive statistics of Hi-C datasets
select Hi-C pairs given flexibly defined criteria
restore
.sam
alignments from Hi-C pairs.
"catalogue" is a tiny, zero-dependencies library that makes it easy to add function (or object) registries to your code. Function registries are helpful when you have objects that need to be both easily serializable and fully customizable. Instead of passing a function into your object, you pass in an identifier name, which the object can use to lookup the function from the registry. This makes the object easy to serialize, because the name is a simple string. If you instead saved the function, you'd have to use Pickle for serialization, which has many drawbacks.
This package provides a flexible toolbox for observation planning and scheduling. When complete, the goal is to be easy for Python beginners and new observers to to pick up, but powerful enough for observatories preparing nightly and long-term schedules.
Features:
calculate rise/set/meridian transit times, alt/az positions for targets at observatories anywhere on Earth
built-in plotting convenience functions for standard observation planning plots (airmass, parallactic angle, sky maps)
determining observability of sets of targets given an arbitrary set of constraints (i.e., altitude, airmass, moon separation/illumination, etc.)
This package provides a Python library for working with and comparing language codes.
python-langcodes
implements BCP 47, the IETF Best Current Practices on Tags for Identifying Languages. BCP 47 is also known as RFC 5646. It subsumes ISO 639 and is backward compatible with it, and it also implements recommendations from the Unicode CLDR.
python-langcodes
can also refer to a database of language properties and names, built from Unicode CLDR and the IANA subtag registry, if you install python-language-data
.
This library handles the low-level details of NTLM authentication for use in authenticating with a service that uses NTLM. It will create and parse the 3 different message types in the order required and produce a base64 encoded value that can be attached to the HTTP header.
The goal of this library is to offer full NTLM support including signing and sealing of messages as well as supporting MIC for message integrity and the ability to customise and set limits on the messages sent. Please see Features and Backlog for a list of what is and is not currently supported.
The goal of pathlib2 is to provide a backport of standard pathlib module which tracks the standard library module, so all the newest features of the standard pathlib can be used also on older Python versions.
Pathlib offers a set of classes to handle file system paths. It offers the following advantages over using string objects:
No more cumbersome use of os and os.path functions. Everything can be done easily through operators, attribute accesses, and method calls.
Embodies the semantics of different path types. For example, comparing Windows paths ignores casing.
Well-defined semantics, eliminating any inconsistencies or ambiguities (forward vs. backward slashes, etc.).
The Python FTP server library provides a high-level interface to write efficient, scalable and asynchronous FTP servers with Python. It is the most complete RFC-959 FTP server implementation available for Python, and has the following traits:
It is lightweight, fast and scalable.
It uses the
sendfile(2)
system call for uploads.It uses
epoll
,kqueue
andselect
to handle concurrency asynchronously.It supports FTPS (RFC-4217), IPv6 (RFC-2428), Unicode file names (RFC-2640) and MLSD/MLST commands (RFC-3659).
It has a flexible system of authorizers able to manage both virtual and real users.
Core Schema.