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)

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

Overview

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).

Features

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.

  • grouping(): generates a tuple of grouped items.

etc.

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.

etc.

Additional packages may be added in the future.

Installation

The recommended way of installing the software is through PyPI:

$ pip install flyingcircus

Alternatively, you can clone the source repository from Bitbucket:

$ git clone git@bitbucket.org:norok2/flyingcircus.git
$ cd flyingcircus
$ pip install -e .

For more details see also INSTALL.rst.

License

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

Acknowledgements

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.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flyingcircus-0.1.0.7-py2.py3-none-any.whl (126.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file flyingcircus-0.1.0.7-py2.py3-none-any.whl.

File metadata

  • Download URL: flyingcircus-0.1.0.7-py2.py3-none-any.whl
  • Upload date:
  • Size: 126.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.10.0 pkginfo/1.2.1 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.6.8

File hashes

Hashes for flyingcircus-0.1.0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7d34e676064ca34a6ad74dcaa6fdc2bef5b81cd62ceb9b0fd8e7a2a583c7cb2f
MD5 ee453f049211510443c894d0d1db40d6
BLAKE2b-256 64aab1827d374699cd85779551ff62acba5089c3a1f25b56365236918ebcfd9c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page