Changelog¶
2.2.3 - fixed packaging¶
- packaging improvements: set the "universal wheel" flag to 1, and cleaned up the
setup.py
. In particular removed dependency tosix
for setup. Fixes #21
2.2.2 - Minor packaging improvements¶
- Added
__version__
attribute. Fixes #20 - Improved
setup.py
, in particular long description now uses markdown (no pandoc anymore) and zip_safe is false. Fixes #18 - Added
py.typed
file for PEP561 compliance. Fixes #19
2.2.1 - pyproject.toml
¶
Added pyproject.toml
.
2.2.0 - Better signature for mini-lambda functions¶
When converting an expression into a function, the resulting callable object now has the same signature than inner evaluate
. Fixes #17.
2.1.0 - New features to improve usability.¶
-
Added two helper functions
is_mini_lambda_expr
andas_function
. Fixes #13 -
Renamed
_LambdaExpression
toLambdaExpression
. It is now exported at package lavel, that's clearer. -
Added
__repr__
toLambdaFunction
. Fixes #14.
2.0.1 - fixed dependency issue¶
- in 2.0.0 pandas and numpy were mandatory again. Fixed that.
2.0.0 - python 2 support, default repr
, and cleaner submodules structure¶
-
Lambda expressions now have a normal
repr
by default, and this can be disabled by using therepr_on
attribute toFalse
. Fixes #12 -
Added support for python 2. Fixes #11.
-
The package structure is now cleaner. In particular, predefined variables are in
mini_lambda.vars
and predefined symbols (constants, functions and classes) are inmini_lambda.symbols
.
1.4.0 - fixed initial import time + added And()
and Or()
¶
-
Fixed #5 by making
numpy
andpandas
import optional: they are now only imported if you importmini_lambda.numpy_
ormini_lambda.pandas_
respectively. -
New
And()
andOr()
functions, see #7
1.3.1 - fixed ImportError in code generation¶
- the latest
autoclass
has its__init__.py
fixed, this revealed aImportError: cannot import name 'getmembers'
because we were importinggetmembers
from it instead ofinspect
. Fixed
1.3.0 - fixed init.py¶
- The init file has been improved so as not to export symbols from other packages. Fixes #6
1.2.4 - Minor improvements in generated goodies¶
- Removed annoying warning message when loading goodies
- Removed useless try/except for goodies that do not need import
1.2.3 - Fixed minor bug in code generation¶
- Removed all
None
that were appearing in the goodies_generated.py file - Now compliant with old versions of
typing
module:typing.Type
is not imported explicitly anymore.
1.2.2 - Fixed code generation to solve two import errors¶
- Fixed #3 and #4. Generated source code has been removed from version control to avoid this kind of errors in the future.
- Travis script has been equipped with an automatic module import checker to detect such issues earlier next time.
1.2.0 - New alias and bugfix for constant functions¶
- added alias
make_lambda_friendly
forConstant
, since it is able to convert anything (constants, functions and classes) to lambda-friendly objects usable in expressions. - Fixed #2 that was a bug happening when using lambda-friendly methods with non-lambda arguments
1.1.0 - Compatibility with standard functions¶
- It is now possible to use any function in a lambda expression, through use of the
make_lambda_friendly_...
methods (see documentation) - All
built-in
methods as well as all constants, methods and classes from themath.py
anddecimal.py
modules are provided in a lambda-friendly way by the package for convenience - Updated documentation accordingly, and made main page clearer
- Renamed class
_InputEvaluator
into_LambdaExpression
- A few bugfixes in particular support for keyword arguments when a function call is made in a lambda expression
<expr>.nnot()
,<expr>.any()
and<expr>.all()
renamed<expr>.not_()
,<expr>.any_()
and<expr>.all_()
for consistency and to avoid conflicts with any()/all() methods that would already be defined in the class, for example NumPy.
1.0.0 - First public version¶
- Initial fork from valid8 sources.
- Added documentation and printability of expressions, which implied to properly handle operator precedence.