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
.
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
.
CyLP is a Python interface to COIN-OR’s Linear and mixed-integer program solvers (CLP, CBC, and CGL). CyLP’s unique feature is that you can use it to alter the solution process of the solvers from within Python. For example, you may define cut generators, branch-and-bound strategies, and primal/dual Simplex pivot rules completely in Python.
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.
gcvb (generate compute validate benchmark) is a Python 3 module aiming at facilitating non-regression, validation and benchmarking of simulation codes. gcvb is not a complete tool of continuous integration (CI). It is rather a component of the testing part of a CI workflow. It can compare the different metrics of your computation with references that can be a file, depends of the 'configuration' or are absolute.
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.
Scientific video can be packaged in various ways: familiar video formats like .AVI
and .MOV
, folders full of numbered images, or "stacks" of TIFF images. Each of these requires a separate Python module. And, once loaded, they have different methods for accessing individual images, looping through the images in bulk, accessing a specific range, or dealing with multidimensional files. PIMS can do all of these using a consistent interface, handling the differences between different inputs invisibly.
ZODB
provides an object-oriented and ACID compliant database for Python with a high degree of transparency. ZODB
is an object-oriented database, not an object-relational mapping. This comes with several advantaged:
no separate language for database operations
very little impact on your code to make objects persistent
no database mapper that partially hides the database.
almost no seam between code and database.
Cmd2 is a tool for building interactive command line applications in Python. Its goal is to make it quick and easy for developers to build feature-rich and user-friendly interactive command line applications. It provides a simple API which is an extension of Python's built-in cmd
module. cmd2
provides a wealth of features on top of cmd
to make your life easier and eliminates much of the boilerplate code which would be necessary when using cmd
.
The Bluetooth GATT SDK for Python helps you implement and communicate with any Bluetooth Low Energy device that has a GATT profile. It supports:
Discovering nearby Bluetooth Low Energy devices
Connecting and disconnecting devices
Implementing your custom GATT profile
Accessing all GATT services
Accessing all GATT characteristics
Reading characteristic values
Writing characteristic values
Subscribing for characteristic value change notifications
Currently, Linux is the only platform supported by this library.
Fire is a library for automatically generating command line interfaces from absolutely any Python object. The following are the advantages:
A simple way to create a CLI in Python.
A helpful tool for developing and debugging Python code.
Helps with exploring existing code or turning other people's code into a command line interface.
Makes transitioning between Bash and Python easier.
Makes using a Python REPL easier by setting up the REPL with the modules and variables you'll need already imported and created.
Dill extends Python's pickle
module for serializing and de-serializing Python objects to the majority of the built-in Python types. Dill provides the user the same interface as the pickle
module, and also includes some additional features. In addition to pickling Python objects, dill
provides the ability to save the state of an interpreter session in a single command. Hence, it would be feasible to save a interpreter session, close the interpreter, ship the pickled file to another computer, open a new interpreter, unpickle the session and thus continue from the saved state of the original interpreter session.