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.
This package provides a speech recognition toolkit based on kaldi
. It supports more than 20 languages and dialects - English, Indian English, German, French, Spanish, Portuguese, Chinese, Russian, Turkish, Vietnamese, Italian, Dutch, Catalan, Arabic, Greek, Farsi, Filipino, Ukrainian, Kazakh, Swedish, Japanese, Esperanto, Hindi, Czech, Polish. The program works offline, even on lightweight devices. Portable per-language models are about 50Mb each, and there are much bigger and precise models available.
Vosk API provides a streaming API allowing to use it on-the-fly and bindings for different programming languages. It allows quick reconfiguration of vocabulary for better accuracy, and supports speaker identification beside simple speech recognition.
This package provides a Python implementation for computations of the position and velocity of an earth-orbiting satellite, given the satellite’s TLE orbital elements from a source like https://celestrak.org/.
It implements the most recent version of SGP4, and is regularly run against the SGP4 test suite to make sure that its satellite position predictions agree to within 0.1 mm with the predictions of the standard distribution of the algorithm. This error is far less than the 1–3 km/day by which satellites themselves deviate from the ideal orbits described in TLE files.
CRDS is a package used for working with astronomical reference files for the HST and JWST telescopes. CRDS is useful for performing various operations on reference files or reference file assignment rules. CRDS is used to assign, check, and compare reference files and rules, and also to predict those datasets which should potentially be reprocessed due to changes in reference files or assignment rules. CRDS has versioned rules which define the assignment of references for each type and instrument configuration. CRDS has web sites corresponding to each project http://hst-crds.stsci.edu or https://jwst-crds.stsci.edu/ which record information about reference files and provide related services.
EmPy is a system for embedding Python expressions and statements in template text; it takes an EmPy source file, processes it, and produces output. This is accomplished via expansions, which are special signals to the EmPy system and are set off by a special prefix (by default the at sign, @). EmPy can expand arbitrary Python expressions and statements in this way, as well as a variety of special forms. Textual data not explicitly delimited in this way is sent unaffected to the output, allowing Python to be used in effect as a markup language. Also supported are callbacks via hooks, recording and playback via diversions, and dynamic, chainable filters. The system is highly configurable via command line options and embedded commands.
ddgr
provides a command-line interface to DuckDuckGo search engine.
Features:
Fast and clean (no ads, stray URLs or clutter), custom color
Navigate result pages from omniprompt, open URLs in browser
Search and option completion scripts for Bash, Zsh and Fish
DuckDuckGo Bang support (along with completion)
Open the first result directly in browser (as in I'm Feeling Ducky)
Non-stop searches: fire new searches at omniprompt without exiting
Keywords (e.g. filetype:mime, site:somesite.com) support
Specify region, disable safe search
HTTPS proxy support, Do Not Track set, optionally disable User Agent
Support custom url handler script or cmdline utility
Comprehensive documentation, man page with handy usage examples
Minimal dependencies
sbpy
is a package for small-body planetary astronomy. It is meant to supplement functionality provided by astropy
with functions and methods that are frequently used in the context of planetary astronomy with a clear focus on asteroids and comets. Features:
observation planning tools tailored to moving objects
photometry models for resolved and unresolved observations
wrappers and tools for astrometry and orbit fitting
spectroscopy analysis tools and models for reflected solar light and emission from gas
cometary gas and dust coma simulation and analysis tools
asteroid thermal models for flux estimation and size/albedo estimation
image enhancement tools for comet comae and PSF subtraction tools
lightcurve and shape analysis tools
access tools for various databases for orbital and physical data, as well as ephemerides services