skillfed

magic-filter

magic-filter v1.0.12 3.0M downloads/30d#2,786 on PyPI41
Permissive license DORMANT released

What it is and what it does

magic-filter is a lightweight Python library that lets you build filters using dynamic attribute access and a fluent syntax. Instead of writing nested conditionals or lambda functions, you construct filter expressions by accessing attributes on a special filter object, then apply those expressions to check or filter data. The library has no runtime dependencies and supports Python 3.7 through 3.11.

The package is in alpha status and has been dormant since late 2023, so it is stable for existing use cases but should not be expected to receive active maintenance or new features. It carries permissive licensing and is commonly associated with the aiogram ecosystem.

Use it for:

  • Build declarative filters for message routing in Telegram bot handlers without writing nested conditionals.
  • Validate object attributes against multiple conditions using a readable, expression-like syntax.
  • Create reusable filter expressions that can be composed and applied to different data structures.
  • Filter collections of objects by attribute values using a fluent API instead of list comprehensions.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a filter mechanism based on dynamic attribute access that enables declarative filtering of objects using a fluent, expression-like syntax.

Yes, if you need declarative filtering and are comfortable with dormant maintenance. The package is stable, has no dependencies, and carries permissive licensing. It is well-suited for attribute-based filtering tasks where readability matters more than active development. Do not expect bug fixes or new features.

Install

magic-filter on PyPI

pip

pip install magic-filter

uv

uv add magic-filter

poetry

poetry add magic-filter

Installing magic-filter

Before you install

Low friction installation with no runtime dependencies. Maintenance is dormant—last commit was 2023-09-25—so expect no active bug fixes or feature development, though the package is stable enough for existing use.

License in practice

Licensed under MIT (permissive), so you can use, modify, and distribute it freely with minimal restrictions.

Quickstart

pip install magic-filter

from magic_filter import F

filter_expr = F.name == 'example'
result = filter_expr.check({'name': 'example'})

Verify before relying

  • Exact semantics and typical use patterns beyond 'dynamic attribute getter' are not detailed in the fact sheet.
  • Whether this is primarily for data validation, query building, or both remains unclear from the excerpt.
  • How the package is typically used in practice beyond the aiogram ecosystem.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance dormant — 1,048 days since the last release
Last repo commit
First released
Downloads 3,019,202/month — #2,786 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: magic_filter-1.0.12-py3-none-any.whl

Keywords: filter, magic, validation

Development Status :: 3 - AlphaLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonTopic :: UtilitiesTyping :: Typed

Tags

dynamic attribute filteringmagic filter librarydeclarative object filteringfilter expressionsattribute-based filteringfluent filter apivalidation filtering
filteringdeclarative

More Utilities packages