Python is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. Some of its key distinguishing features include: clear, readable syntax; strong introspection capabilities; intuitive object orientation; natural expression of procedural code; full modularity, supporting hierarchical packages; exception-based error handling; and very high level dynamic data types.
Python is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. Some of its key distinguishing features include: clear, readable syntax; strong introspection capabilities; intuitive object orientation; natural expression of procedural code; full modularity, supporting hierarchical packages; exception-based error handling; and very high level dynamic data types.
Chex is a library of utilities for helping to write reliable JAX code. This includes utils to help:
Instrument your code (e.g. assertions)
Debug (e.g. transforming
pmaps
invmaps
within a context manager).Test JAX code across many
variants
(e.g. jitted vs non-jitted).
Generalized World Coordinate System (GWCS) is an Astropy affiliated package providing tools for managing the World Coordinate System of astronomical data.
GWCS takes a general approach to the problem of expressing transformations between pixel and world coordinates. It supports a data model which includes the entire transformation pipeline from input coordinates (detector by default) to world coordinates.
Generalized World Coordinate System (GWCS) is an Astropy affiliated package providing tools for managing the World Coordinate System of astronomical data.
GWCS takes a general approach to the problem of expressing transformations between pixel and world coordinates. It supports a data model which includes the entire transformation pipeline from input coordinates (detector by default) to world coordinates.
Mypy is an optional static type checker for Python that aims to combine the benefits of dynamic typing and static typing. Mypy combines the expressive power and convenience of Python with a powerful type system and compile-time type checking. Mypy type checks standard Python programs; run them using any Python VM with basically no runtime overhead.
python-argh is a small library that provides several layers of abstraction on top of python-argparse
. The layers can be mixed. It is always possible to declare a command with the highest possible (and least flexible) layer and then tune the behaviour with any of the lower layers including the native API of python-argparse
.
Dask is a flexible parallel computing library for analytics. It consists of two components: dynamic task scheduling optimized for computation, and large data collections like parallel arrays, dataframes, and lists that extend common interfaces like NumPy, Pandas, or Python iterators to larger-than-memory or distributed environments. These parallel collections run on top of the dynamic task schedulers.
Dask is a flexible parallel computing library for analytics. It consists of two components: dynamic task scheduling optimized for computation, and large data collections like parallel arrays, dataframes, and lists that extend common interfaces like NumPy, Pandas, or Python iterators to larger-than-memory or distributed environments. These parallel collections run on top of the dynamic task schedulers.
vedo
is a fast and lightweight python module for scientific analysis and visualization. The package provides a wide range of functionalities for working with three-dimensional meshes and point clouds. It can also be used to generate high quality two-dimensional renderings such as scatter plots and histograms. vedo
is based on vtk
and numpy
.
Zeep is a Python SOAP client. Highlights:
Build on top of
lxml
andrequests
.Support for Soap 1.1, Soap 1.2 and HTTP bindings.
Support for WS-Addressing headers.
Support for WSSE (UserNameToken / x.509 signing).
Support for
asyncio
viahttpx
.Experimental support for XOP messages.
Six is a Python 2 and 3 compatibility library. It provides utility functions for smoothing over the differences between the Python versions with the goal of writing Python code that is compatible on both Python versions. Six supports every Python version since 2.5. It is contained in only one Python file, so it can be easily copied into your project.
Six is a Python 2 and 3 compatibility library. It provides utility functions for smoothing over the differences between the Python versions with the goal of writing Python code that is compatible on both Python versions. Six supports every Python version since 2.5. It is contained in only one Python file, so it can be easily copied into your project.
Real applications have real data, and real data nests---objects inside of objects inside of lists of objects. glom is a new and powerful way to handle real-world data, featuring:
Path-based access to nested data structures
Readable, meaningful error messages
Declarative data transformation, using lightweight, Pythonic specifications
Built-in data exploration and debugging features
Daft is a Python package that uses matplotlib to render pixel-perfect probabilistic graphical models for publication in a journal or on the internet. With a short Python script and an intuitive model-building syntax you can design directed (Bayesian Networks, directed acyclic graphs) and undirected (Markov random fields) models and save them in any formats that matplotlib supports (including PDF, PNG, EPS and SVG).
pyte
is an in-memory VTxxx-compatible terminal emulator. VTxxx stands for a series of video terminals, developed by DEC between 1970 and 1995. The first and probably most famous one was the VT100 terminal, which is now a de-facto standard for all virtual terminal emulators.
pyte is a fork of vt102, which was an incomplete pure Python implementation of VT100 terminal.
The Microsoft Authentication Library for Python enables applications to integrate with the Microsoft identity platform. It allows you to sign in users or apps with Microsoft identities (Azure AD, Microsoft Accounts and Azure AD B2C accounts) and obtain tokens to call Microsoft APIs such as Microsoft Graph or your own APIs registered with the Microsoft identity platform. It is built using industry standard OAuth2 and OpenID Connect protocols.
To prevent Python from decoding and canonicalizing line endings and thus preventing detection, binary mode is used for opening, which means that byte strings are read instead of normal strings. Currently read
is used and a loop. This doesn't hide the underlying workings and is hence useful to explain the workings of, but nicer code could probably be written using iterator based operations like drop_while
.
This is a library to support the Internationalised Domain Names in Applications (IDNA) protocol as specified in RFC 5891. This version of the protocol is often referred to as “IDNA2008” and can produce different results from the earlier standard from 2003. The library is also intended to act as a suitable drop-in replacement for the “encodings.idna” module that comes with the Python standard library but currently only supports the older 2003 specification.
Fypp is a Python powered preprocessor. It can be used for any programming languages but its primary aim is to offer a Fortran preprocessor, which helps to extend Fortran with condititional compiling and template metaprogramming capabilities. Instead of introducing its own expression syntax, it uses Python expressions in its preprocessor directives, offering the consistency and versatility of Python when formulating metaprogramming tasks. It puts strong emphasis on robustness and on neat integration into developing toolchains.
spin
is a simple interface for common development tasks. It comes with a few common build commands out the box, but can easily be customized per project.
The impetus behind developing the tool was the mass migration of scientific Python libraries (SciPy, scikit-image, and NumPy, etc.) to Meson, after distutils was deprecated. When many of the build and installation commands changed, it made sense to abstract away the nuisance of having to re-learn them.
Trend Micro Locality Sensitive Hash (TLSH) is a fuzzy matching library. Given a byte stream with a minimum length of 256 bytes, TLSH generates a hash value which can be used for similarity comparisons. Similar objects have similar hash values, which allows for the detection of similar objects by comparing their hash values. The byte stream should have a sufficient amount of complexity; for example, a byte stream of identical bytes will not generate a hash value.
doit is an automation tool that brings the power of build-tools to execute any kind of task.
A task describes some computation to be done (actions), and contains some extra meta-data. The actions can be external programs or Python functions. A single task may define more than one action. doit uses the task’s meta-data to:
cache task results
correct execution order
parallel execution
powerful dependency system
SOXS is a software suite which can create simulated X-ray observations of astrophysical sources with almost any existing or planned X-ray observatory. The goal of SOXS is to provide a comprehensive set of tools to design source models and convolve them with simulated models of X-ray instruments. This package was originally developed to support the Lynx X-ray Observatory mission concept, but has evolved to support other missions as well.