Python packages

Overview of Python packages

The python packages below aim to take your Python projects to the next level.

BloomLib: Bloom filters made easy

GitHub - mike-huls/bloomlib
Contribute to mike-huls/bloomlib development by creating an account on GitHub.

BloomFilters are a memory-friendly way to store a lot of information. You can store 100 million items using just 77MB. This is a very efficient and superfast way to test whether a value exists in a collection.

The downside is that the data structure is probabilistic: A Bloom filter can either tell you with certainty that an item is not a member of a set, or that it probably is

For more information, check out the article below.

How to Store and Query 100 Million Items Using Just 77MB with Python Bloom Filters
Perform lightning-fast, memory efficient membership checks in Python with this need-to-know data structure

Buffr: userfriendly buffering

GitHub - mike-huls/buffr: Python buffering package
Python buffering package. Contribute to mike-huls/buffr development by creating an account on GitHub.

You can let add items to the buffer. When the buffer is full or a certain time has passed, all items will be process by a provided function.


CythonBuilder: automated compiling and packaging of Cython code

GitHub - mike-huls/cythonbuilder: CythonBuilder; automated compilation of Cython code
CythonBuilder; automated compilation of Cython code - mike-huls/cythonbuilder

CythonBuilder makes it easy to use Cython in your Python project by automating the building process. You can use CythonBuilder from the commandline or import it as a package in Python. Generated files can be imported in Python directly


Cachr: Easy caching

GitHub - mike-huls/cachr: Python library that allows you to compose your own cache, pre-packaged with many usefull caches
Python library that allows you to compose your own cache, pre-packaged with many usefull caches - mike-huls/cachr

Just add a simple decorator to your function and it's cached. Available caches include LRU, LFU, TTL (cached item expires after x seconds), random replace and sliding window.


FastInject

GitHub - mike-huls/fastinject: Easy Python dependency injection
Easy Python dependency injection. Contribute to mike-huls/fastinject development by creating an account on GitHub.

Dependency injection makes you code testable, readable and uncomplicated. FastInjects provides an easy-to-use interface to upgrade your code with dependency injection.

No more circular import errors, tangled dependencies and complications. Make your code simple and testable.