TensorFlow is a flexible platform for building and training machine learning models. It provides a library for high performance numerical computation and includes high level Python APIs, including both a sequential API for beginners that allows users to build models quickly by plugging together building blocks and a subclassing API with an imperative style for advanced research.
This module is inspired by GNU bash's variable expansion features. It can be used as an alternative to Python's os.path.expandvars
function. A good use case is reading config files with the flexibility of reading values from environment variables using advanced features like returning a default value if some variable is not defined.
CellTypist is an automated cell type annotation tool for scRNA-seq datasets on the basis of logistic regression classifiers optimised by the stochastic gradient descent algorithm. CellTypist allows for cell prediction using either built-in (with a current focus on immune sub-populations) or custom models, in order to assist in the accurate classification of different cell types and subtypes.
The goal of this package is to provide a reference implementation of trait types for common data structures used in the scipy stack such as numpy arrays or pandas and xarray data structures. These are out of the scope of the main traitlets project but are a common requirement to build applications with traitlets in combination with the scipy stack.
cssselect2
is a straightforward implementation of CSS3 Selectors for markup documents (HTML, XML, etc.) that can be read by ElementTree-like parsers (including cElementTree, lxml, html5lib, etc.).
Unlike the Python package cssselect
, it does not translate selectors to XPath and therefore does not have all the correctness corner cases that are hard or impossible to fix in cssselect.
Sign JSON objects with ED25519 signatures.
More than one entity can sign the same object.
Each entity can sign the object with more than one key making it easier to rotate keys
ED25519 can be replaced with a different algorithm.
Unprotected data can be added to the object under the "unsigned" key.
The zope.event package provides a simple event system, including:
- An event publishing API, intended for use by applications which are unaware of any subscribers to their events.
- A very simple synchronous event-dispatching system, on which more sophisticated event dispatching systems can be built. For example, a type-based event dispatching system that builds on zope.event can be found in zope.component.
Radio Beam is a simple toolkit for reading beam information from FITS headers and manipulating beams. Some example applications include:
Convolution and deconvolution
Unit conversion (Jy to/from K)
Handle sets of beams for spectral cubes with varying resolution between channels
Find the smallest common beam from a set of beams
Add the beam shape to a matplotlib plot
Often when we want to label multiple points on a graph the text will start heavily overlapping with both other labels and data points. This can be a major problem requiring manual solution. However this can be largely automated by smart placing of the labels (difficult) or iterative adjustment of their positions to minimize overlaps (relatively easy). This library implements the latter option to help with matplotlib graphs.
Optimized einsum can significantly reduce the overall execution time of einsum-like expressions by optimizing the expression's contraction order and dispatching many operations to canonical BLAS, cuBLAS, or other specialized routines. Optimized einsum is agnostic to the backend and can handle NumPy, Dask, PyTorch, Tensorflow, CuPy, Sparse, Theano, JAX, and Autograd arrays as well as potentially any library which conforms to a standard API. See the documentation for more information.
This package provides a high-level, convenient API for managing internationalization/translation contexts in Python applications. There is a simple API for single-context applications, such as command line scripts which only need to translate into one language during the entire course of their execution. There is a more flexible, but still convenient API for multi-context applications, such as servers, which may need to switch language contexts for different tasks.
This is a small Python library that implements boolean algebra. It defines two base elements, TRUE
and FALSE
, and a Symbol
class that can take on one of these two values. Calculations are done only in terms of AND
, OR
, and NOT
---other compositions like XOR
and NAND
are emulated on top of them. Expressions are constructed from parsed strings or directly in Python.
Graph-tool is an efficient Python module for manipulation and statistical analysis of graphs (a.k.a. networks). Contrary to most other Python modules with similar functionality, the core data structures and algorithms are implemented in C++, making extensive use of template metaprogramming, based heavily on the Boost Graph Library. This confers it a level of performance that is comparable (both in memory usage and computation time) to that of a pure C/C++ library.
JSON (JavaScript Object Notation) is a subset of JavaScript syntax (ECMA-262 3rd edition) used as a lightweight data interchange format.
Simplejson exposes an API familiar to users of the standard library marshal and pickle modules. It is the externally maintained version of the json library contained in Python 2.6, but maintains compatibility with Python 2.5 and (currently) has significant performance advantages, even without using the optional C extension for speedups. Simplejson is also supported on Python 3.3+.
The mercantile module provides ul(xtile, ytile, zoom)
and bounds(xtile, ytile, zoom)
functions that respectively return the upper left corner and bounding longitudes and latitudes for XYZ tiles, a xy(lng, lat)
function that returns spherical mercator x and y coordinates, a tile(lng, lat, zoom)
function that returns the tile containing a given point, and quadkey conversion functions quadkey(xtile, ytile, zoom)
and quadkey_to_tile(quadkey)
for translating between quadkey and tile coordinates.
This package is an integrated pipeline for large-scale phylogenetic profiling of genomes and metagenomes. PhyloPhlAn is an accurate, rapid, and easy-to-use method for large-scale microbial genome characterization and phylogenetic analysis at multiple levels of resolution. This software package can assign both genomes and MAGs to SGBs. PhyloPhlAn can reconstruct strain-level phylogenies using clade- specific maximally informative phylogenetic markers, and can also scale to very large phylogenies comprising >17,000 microbial species.
Batch-oriented version of WebQTL. It requires, as input, expression data from members of a set of recombinant inbred lines and genotype information for the same lines. It searches for an association between each expression trait and all genotypes and evaluates that association by a permutation test. For the permutation test, it performs only as many permutations as are necessary to define the empirical P-value to a reasonable precision. It also performs bootstrap resampling to estimate the confidence region for the location of a putative QTL.
This package contains a plugin that provides specializations for type hinting stub files, especially interesting for linting typeshed. It adds the .pyi
extension to the default value of the --filename
command-line argument to Flake8. This means stubs are linted by default with this plugin enabled, without needing to explicitly list every file. It modifies PyFlakes runs for .pyi
files to defer checking type annotation expressions after the entire file has been read. This enables support for first-class forward references that stub files use.
pandapower
is an easy to use network calculation program aimed to automate the analysis and optimization of power systems. It uses the data analysis library pandas
and is compatible with the commonly used MATPOWER
/ PYPOWER
case format. pandapower
allows using different solvers including an improved Newton-Raphson power flow implementation, all PYPOWER
solvers, the C++ library solvers for fast steady-state distribution power system analysis of PowerGridModel
, the Newton-Raphson power flow solvers in the C++ library lightsim2grid, and the PowerModels.jl
library.
The FEniCS Form Compiler (FFC) is a compiler for finite element variational forms. From a high-level description of the form, it generates efficient low-level C++ code that can be used to assemble the corresponding discrete operator (tensor). In particular, a bilinear form may be assembled into a matrix and a linear form may be assembled into a vector. FFC may be used either from the command line (by invoking the ffc
command) or as a Python module (import ffc
).
FFC is part of the FEniCS Project.
NestedText is a file format for holding data that is to be entered, edited, or viewed by people. It allows data to be organized into a nested collection of dictionaries, lists, and strings. In this way it is similar to JSON and YAML, but without the complexity and risk of YAML and without the syntactic clutter of JSON. NestedText is both simple and natural. Only a small number of concepts and rules must be kept in mind when creating it. It is easily created, modified, or viewed with a text editor and easily understood and used by both programmers and non-programmers.
about-time
is a helper for tracking time and throughput of code blocks, with beautiful human friendly renditions.
Key feature are:
measure the duration of two or more blocks at the same time, including the whole duration
instrument a code to cleanly retrieve durations in one line, to log or send to time series databases
easily see human friendly durations in s (seconds), ms (milliseconds), µs (microseconds) and even ns (nanoseconds)
easily see human friendly counts with SI prefixes like k, M, G, T, etc
measure the actual throughput of a block
easily see human friendly throughputs in
/second
,/minute
,/hour
or even/day
, including SI prefixes
The package allows you to enter Python code within a LaTeX document, execute the code, and access its output in the original document. There is also support for Bash, JavaScript, Julia, Octave, Perl, R, Raku (Perl 6), Ruby, Rust, and SageMath. Code is only executed when it has been modified, or when it meets user-specified criteria. Code may be divided into user-defined sessions, which automatically run in parallel. Errors and warnings are synchronized with the LaTeX document, so that they refer to the document's line numbers. External dependencies can be tracked, so that code is re-executed when the data it depends on is modified. PythonTeX also provides syntax highlighting for code in LaTeX documents via the Pygments syntax highlighter.
The package also provides a depythontex
utility. This creates a copy of the document in which all Python code has been replaced by its output. This is useful for journal submissions, sharing documents, and conversion to other formats.
Bindings for FUSE.