Skip to main content

Everything you always wanted to have in Python.*

Project description

FlyingCircus - Everything you always wanted to have in Python.*

(*But were afraid to write)

 _____ _       _              ____ _
|  ___| |_   _(_)_ __   __ _ / ___(_)_ __ ___ _   _ ___
| |_  | | | | | | '_ \ / _` | |   | | '__/ __| | | / __|
|  _| | | |_| | | | | | (_| | |___| | | | (__| |_| \__ \
|_|   |_|\__, |_|_| |_|\__, |\____|_|_|  \___|\__,_|___/
         |___/         |___/


This software provides a library of miscellaneous utilities / recipes for generic computations with Python and NumPy. It is relatively easy to extend and users are encouraged to tweak with it.

Most of the code is used in a number of projects where it is tested against real-life scenarios.

As a result of the code maturity, some of the library components may undergo (eventually heavy) refactoring. While this is not expected, this will be documented. Please file a bug report if you detect an undocumented refactoring.

Releases information are available through NEWS.rst.

For a more comprehensive list of changes see CHANGELOG.rst (automatically generated from the version control system).


The package contain two main sub-packages:

  • base
  • extra

The package base contains a number of generic functions like

  • multi_replace(): performs multiple replacements in a string.
  • flatten(): recursively flattens nested iterables, e.g. list of list of tuples to flat list).
  • uniques(): extract unique items from an iterable while keeping the order of appearance.


The package extra (which requires both numpy and scipy) contains a number of numerical functions, typically working on or generating numpy.ndarray inputs, like:

  • sgngeomspace(): generates geometrically / logarithmically spaced samples between signed start and stop endpoints.
  • unsqueeze(): add singletons to the shape of an array to broadcast-match a given shape.
  • subst(): conveniently substitute all occurrences of a value in an array.


Additional packages may be added in the future.


The recommended way of installing the software is through PyPI:

$ pip install flyingcircus

Alternatively, you can clone the source repository from Bitbucket:

$ git clone
$ cd flyingcircus
$ pip install -e .

For more details see also INSTALL.rst.


This work is licensed through the terms and conditions of the GPLv3+ See the accompanying LICENSE.rst for more details.


For a complete list of authors please see AUTHORS.rst.

People who have influenced this work are acknowledged in THANKS.rst.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for flyingcircus, version
Filename, size File type Python version Upload date Hashes
Filename, size flyingcircus- (162.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page