Changelog¶
v3.4.8 (2017-01-05)¶
- Make internal function inspection methods work with Python 3 annotations. Thanks tgriesser!
v3.4.7 (2016-11-01)¶
- Fix bug in
getwhere an iterable default was iterated over instead of being returned when an object path wasn’t found. Thanks urbnjamesmi1!
v3.4.6 (2016-10-31)¶
- Fix bug in
getwhere casting a string key to integer resulted in an uncaught exception instead of the default value being returned instead. Thanks urbnjamesmi1!
v3.4.5 (2016-10-16)¶
- Add optional
defaultparameter tomin_andmax_functions that is used when provided iterable is empty. - Fix bug in
is_matchwhere comparison between an emptysourceargument returnedNoneinstead ofTrue.
v3.4.4 (2016-09-06)¶
- Shallow copy each source in
assign/extendinstead of deep copying. - Call
copy.deepcopyinmergeinstead of the more resource intensiveclone_deep.
v3.4.3 (2016-04-07)¶
- Fix minor issue in deep path string parsing so that list indexing in paths can be specified as
foo[0][1].barinstead offoo.[0].[1].bar. Both formats are now supported.
v3.4.2 (2016-03-24)¶
- Fix bug in
start_casewhere capitalized characters after the first character of a word where mistakenly cast to lower case.
v3.4.1 (2015-11-03)¶
- Fix Python 3.5, inspect, and pytest compatibility issue with
py_chaining object when doctest run onpydash.__init__.py.
v3.4.0 (2015-09-22)¶
- Optimize callback system for performance.
- Explicitly store arg count on callback for
pydashgenerated callbacks where the arg count is known. This avoids the costlyinspect.getargspeccall. - Eliminate usage of costly
guess_builtin_argcountwhich parsed docstrings, and instead only ever pass a single argument to a builtin callback function.
- Explicitly store arg count on callback for
- Optimize
get/setso that regex parsing is only done when special characters are contained in the path key whereas before, all string paths were parsed. - Optimize
is_builtinby checking forBuiltinFunctionTypeinstance and then usingdictlook up table instead of alistlook up. - Optimize
is_matchby replacing call tohaswith atry/exceptblock. - Optimize
push/appendby using a native loop instead of callback mapping.
v3.3.0 (2015-07-23)¶
- Add
ceil. - Add
defaults_deep. - Add
floor. - Add
get. - Add
gt. - Add
gte. - Add
is_iterable. - Add
lt. - Add
lte. - Add
map_keys. - Add
method. - Add
method_of. - Add
mod_args. - Add
set_. - Add
unzip_with. - Add
zip_with. - Make
addsupport adding two numbers if passed in positionally. - Make
getmain definition andget_pathits alias. - Make
set_main definition anddeep_setits alias.
v3.2.2 (2015-04-29)¶
- Catch
AttributeErrorinhelpers.get_itemand return default value if set.
v3.2.1 (2015-04-29)¶
- Fix bug in
reduce_rightwhere collection was not reversed correctly.
v3.2.0 (2015-03-03)¶
- Add
sort_by_orderas alias ofsort_by_all. - Fix
is_matchto not compareobjandsourcetypes usingtypeand instead useisinstancecomparisons exclusively. - Make
sort_by_allaccept anordersargument for specifying the sort order of each key via booleanTrue(for ascending) andFalse(for descending). - Make
wordsaccept apatternargument to override the default regex used for splitting words. - Make
wordshandle single character words better.
v3.1.0 (2015-02-28)¶
- Add
fill. - Add
in_range. - Add
matches_property. - Add
spread. - Add
start_case. - Make callbacks support
matches_propertystyle as[key, value]or(key, value). - Make callbacks support shallow
propertystyle callbacks as[key]or(key,).
v3.0.0 (2015-02-25)¶
- Add
ary. - Add
chars. - Add
chop. - Add
chop_right. - Add
clean. - Add
commitmethod tochainthat returns a new chain with the computedchain.value()as the initial value of the chain. - Add
count_substr. - Add
decapitalize. - Add
duplicates. - Add
has_substr. - Add
human_case. - Add
insert_substr. - Add
is_blank. - Add
is_boolas alias ofis_boolean. - Add
is_builtin,is_native. - Add
is_dictas alias ofis_plain_object. - Add
is_intas alias ofis_integer. - Add
is_match. - Add
is_numas alias ofis_number. - Add
is_tuple. - Add
joinas alias ofimplode. - Add
lines. - Add
number_format. - Add
pascal_case. - Add
plantmethod tochainthat returns a cloned chain with a new initial value. - Add
predecessor. - Add
property_of,prop_of. - Add
prune. - Add
re_replace. - Add
rearg. - Add
replace. - Add
runas alias ofchain.value. - Add
separator_case. - Add
series_phrase. - Add
series_phrase_serial. - Add
slugify. - Add
sort_by_all. - Add
strip_tags. - Add
substr_left. - Add
substr_left_end. - Add
substr_right. - Add
substr_right_end. - Add
successor. - Add
swap_case. - Add
title_case. - Add
truncateas alias oftrunc. - Add
to_boolean. - Add
to_dict,to_plain_object. - Add
to_number. - Add
underscore_caseas alias ofsnake_case. - Add
unquote. - Fix
deep_hasto returnFalsewhenValueErrorraised during path checking. - Fix
padso that it doesn’t over pad beyond provided length. - Fix
trunc/truncateso that they handle texts shorter than the max string length correctly. - Make the following functions work with empty strings and
None: (breaking change) Thanks k7sleeper!camel_casecapitalizecharschopchop_rightclass_casecleancount_substrdecapitalizeends_withjoinjs_replacekebab_caselinesquotere_replacereplaceseries_phraseseries_phrase_serialstarts_withsurround
- Make callback invocation have better support for builtin functions and methods. Previously, if one wanted to pass a builtin function or method as a callback, it had to be wrapped in a lambda which limited the number of arguments that would be passed it. For example,
_.each([1, 2, 3], array.append)would fail and would need to be converted to_.each([1, 2, 3], lambda item: array.append(item). That is no longer the case as the non-wrapped method is now supported. - Make
capitalizeacceptstrictargument to control whether to convert the rest of the string to lower case or not. Defaults toTrue. - Make
chainsupport late passing of initialvalueargument. - Make
chainnot store computedvalue(). (breaking change) - Make
drop,drop_right,take, andtake_righthave defaultn=1. - Make
is_indexedreturnTruefor tuples. - Make
partialandpartial_rightaccept keyword arguments. - Make
pluckstyle callbacks support deep paths. (breaking change) - Make
re_replaceaccept non-string arguments. - Make
sort_byacceptreverseparameter. - Make
splicework with strings. - Make
to_stringconvertNoneto empty string. (breaking change) - Move
arrays.jointostrings.join. (breaking change) - Rename
join/implode‘s second parameter fromdelimitertoseparator. (breaking change) - Rename
split/explode‘s second parameter fromdelimitertoseparator. (breaking change) - Reorder function arguments for
afterfrom(n, func)to(func, n). (breaking change) - Reorder function arguments for
beforefrom(n, func)to(func, n). (breaking change) - Reorder function arguments for
timesfrom(n, callback)to(callback, n). (breaking change) - Reorder function arguments for
js_matchfrom(reg_exp, text)to(text, reg_exp). (breaking change) - Reorder function arguments for
js_replacefrom(reg_exp, text, repl)to(text, reg_exp, repl). (breaking change) - Support iteration over class instance properties for non-list, non-dict, and non-iterable objects.
v2.4.2 (2015-02-03)¶
- Fix
removeso that array is modified after callback iteration.
v2.4.1 (2015-01-11)¶
- Fix
kebab_caseso that it casts string to lower case.
v2.4.0 (2015-01-07)¶
v2.3.2 (2014-12-10)¶
- Fix
mergeandassign/extendso they applyclone_deepto source values before assigning to destination object. - Make
mergeaccept a callback as a positional argument if it is last.
v2.3.1 (2014-12-07)¶
- Add
pipeandpipe_rightas aliases offlowandflow_right. - Fix
mergeso that trailing{}or[]don’t overwrite previous source values. - Make
py_an alias for_.
v2.3.0 (2014-11-10)¶
- Support
typecallbacks (e.g.int,float,str, etc.) by only passing a single callback argument when invoking the callback. - Drop official support for Python 3.2. Too many testing dependencies no longer work on it.
v2.2.0 (2014-10-28)¶
- Add
append. - Add
deep_get. - Add
deep_has. - Add
deep_map_values. - Add
deep_set. - Add
deep_pluck. - Add
deep_property. - Add
join. - Add
pop. - Add
push. - Add
reverse. - Add
shift. - Add
sort. - Add
splice. - Add
unshift. - Add
url. - Fix bug in
snake_casethat resulted in returned string not being converted to lower case. - Fix bug in chaining method access test which skipped the actual test.
- Make
_instance alias method access to methods with a trailing underscore in their name. For example,_.map()becomes an alias formap_(). - Make
deep_propan alias ofdeep_property. - Make
haswork with deep paths. - Make
has_pathan alias ofdeep_has. - Make
get_pathhandle escaping the.delimiter for string keys. - Make
get_pathhandle list indexing using strings such as'0.1.2'to access'value'in[[0, [0, 0, 'value']]]. - Make
concatan alias ofcat.
v2.1.0 (2014-09-17)¶
- Add
add,sum_. - Add
average,avg,mean. - Add
mapiter. - Add
median. - Add
moving_average,moving_avg. - Add
power,pow_. - Add
round_,curve. - Add
scale. - Add
slope. - Add
std_deviation,sigma. - Add
transpose. - Add
variance. - Add
zscore.
v2.0.0 (2014-09-11)¶
- Add
_instance that supports both method chaining and module method calling. - Add
cat. - Add
conjoin. - Add
deburr. - Add
disjoin. - Add
explode. - Add
flatten_deep. - Add
flow. - Add
flow_right. - Add
get_path. - Add
has_path. - Add
implode. - Add
intercalate. - Add
interleave. - Add
intersperse. - Add
is_associative. - Add
is_even. - Add
is_float. - Add
is_decreasing. - Add
is_increasing. - Add
is_indexed. - Add
is_instance_of. - Add
is_integer. - Add
is_json. - Add
is_monotone. - Add
is_negative. - Add
is_odd. - Add
is_positive. - Add
is_strictly_decreasing. - Add
is_strictly_increasing. - Add
is_zero. - Add
iterated. - Add
js_match. - Add
js_replace. - Add
juxtapose. - Add
mapcat. - Add
reductions. - Add
reductions_right. - Add
rename_keys. - Add
set_path. - Add
split_at. - Add
thru. - Add
to_string. - Add
update_path. - Add
words. - Make callback function calling adapt to argspec of given callback function. If, for example, the full callback signature is
(item, index, obj)but the passed in callback only supports(item), then onlyitemwill be passed in when callback is invoked. Previously, callbacks had to support all arguments or implement star-args. - Make
chainlazy and only compute the final value whenvaluecalled. - Make
composean alias offlow_right. - Make
flattenshallow by default, remove callback option, and addis_deepoption. (breaking change) - Make
is_numberreturnFalsefor booleanTrueandFalse. (breaking change) - Make
invertacceptmultivalueargument. - Make
resultacceptdefaultargument. - Make
slice_accept optionalstartandendarguments. - Move files in
pydash/api/topydash/. (breaking change) - Move predicate functions from
pydash.api.objectstopydash.api.predicates. (breaking change) - Rename
create_callbacktoiteratee. (breaking change) - Rename
functionstocallablesin order to allowfunctions.pyto exist at the root of the pydash module folder. (breaking change) - Rename private utility function
_iter_callbacktoitercallback. (breaking change) - Rename private utility function
_iter_list_callbacktoiterlist_callback. (breaking change) - Rename private utility function
_iter_dict_callbacktoiterdict_callback. (breaking change) - Rename private utility function
_iteratetoiterator. (breaking change) - Rename private utility function
_iter_dicttoiterdict. (breaking change) - Rename private utility function
_iter_listtoiterlist. (breaking change) - Rename private utility function
_iter_uniquetoiterunique. (breaking change) - Rename private utility function
_get_itemtogetitem. (breaking change) - Rename private utility function
_set_itemtosetitem. (breaking change) - Rename private utility function
_deprecatedtodeprecated. (breaking change) - Undeprecate
tailand make alias ofrest.
v1.1.0 (2014-08-19)¶
- Add
attempt. - Add
before. - Add
camel_case. - Add
capitalize. - Add
chunk. - Add
curry_right. - Add
drop_right. - Add
drop_right_while. - Add
drop_while. - Add
ends_with. - Add
escape_reg_expandescape_re. - Add
is_error. - Add
is_reg_expandis_re. - Add
kebab_case. - Add
keys_inas alias ofkeys. - Add
negate. - Add
pad. - Add
pad_left. - Add
pad_right. - Add
partition. - Add
pull_at. - Add
repeat. - Add
slice_. - Add
snake_case. - Add
sorted_last_index. - Add
starts_with. - Add
take_right. - Add
take_right_while. - Add
take_while. - Add
trim. - Add
trim_left. - Add
trim_right. - Add
trunc. - Add
values_inas alias ofvalues. - Create
pydash.api.stringsmodule. - Deprecate
tail. - Modify
dropto acceptnargument and remove as alias ofrest. - Modify
taketo acceptnargument and remove as alias offirst. - Move
escapeandunescapefrompydash.api.utilitiestopydash.api.strings. (breaking change) - Move
range_frompydash.api.arraystopydash.api.utilities. (breaking change)
v1.0.0 (2014-08-05)¶
- Add Python 2.6 and Python 3 support.
- Add
after. - Add
assignandextend. Thanks nathancahill! - Add
callbackandcreate_callback. - Add
chain. - Add
clone. - Add
clone_deep. - Add
compose. - Add
constant. - Add
count_by. Thanks nathancahill! - Add
curry. - Add
debounce. - Add
defaults. Thanks nathancahill! - Add
delay. - Add
escape. - Add
find_key. Thanks nathancahill! - Add
find_last. Thanks nathancahill! - Add
find_last_index. Thanks nathancahill! - Add
find_last_key. Thanks nathancahill! - Add
for_each. Thanks nathancahill! - Add
for_each_right. Thanks nathancahill! - Add
for_in. Thanks nathancahill! - Add
for_in_right. Thanks nathancahill! - Add
for_own. Thanks nathancahill! - Add
for_own_right. Thanks nathancahill! - Add
functions_andmethods. Thanks nathancahill! - Add
group_by. Thanks nathancahill! - Add
has. Thanks nathancahill! - Add
index_by. Thanks nathancahill! - Add
identity. - Add
inject. - Add
invert. - Add
invoke. Thanks nathancahill! - Add
is_list. Thanks nathancahill! - Add
is_boolean. Thanks nathancahill! - Add
is_empty. Thanks nathancahill! - Add
is_equal. - Add
is_function. Thanks nathancahill! - Add
is_none. Thanks nathancahill! - Add
is_number. Thanks nathancahill! - Add
is_object. - Add
is_plain_object. - Add
is_string. Thanks nathancahill! - Add
keys. - Add
map_values. - Add
matches. - Add
max_. Thanks nathancahill! - Add
memoize. - Add
merge. - Add
min_. Thanks nathancahill! - Add
noop. - Add
now. - Add
omit. - Add
once. - Add
pairs. - Add
parse_int. - Add
partial. - Add
partial_right. - Add
pick. - Add
property_andprop. - Add
pull. Thanks nathancahill! - Add
random. - Add
reduce_andfoldl. - Add
reduce_rightandfoldr. - Add
reject. Thanks nathancahill! - Add
remove. - Add
result. - Add
sample. - Add
shuffle. - Add
size. - Add
sort_by. Thanks nathancahill! - Add
tap. - Add
throttle. - Add
times. - Add
transform. - Add
to_list. Thanks nathancahill! - Add
unescape. - Add
unique_id. - Add
values. - Add
wrap. - Add
xor.
v0.0.0 (2014-07-22)¶
- Add
all_. - Add
any_. - Add
at. - Add
bisect_left. - Add
collect. - Add
collections. - Add
compact. - Add
contains. - Add
detect. - Add
difference. - Add
drop. - Add
each. - Add
each_right. - Add
every. - Add
filter_. - Add
find. - Add
find_index. - Add
find_where. - Add
first. - Add
flatten. - Add
head. - Add
include. - Add
index_of. - Add
initial. - Add
intersection. - Add
last. - Add
last_index_of. - Add
map_. - Add
object_. - Add
pluck. - Add
range_. - Add
rest. - Add
select. - Add
some. - Add
sorted_index. - Add
tail. - Add
take. - Add
union. - Add
uniq. - Add
unique. - Add
unzip. - Add
where. - Add
without. - Add
zip_. - Add
zip_object.