- Fix minor issue in deep path string parsing so that list indexing in paths can be specified as
foo[0][1].bar
instead offoo.[0].[1].bar
. Both formats are now supported.
- Fix bug in
start_case
where capitalized characters after the first character of a word where mistakenly cast to lower case.
- Fix Python 3.5, inspect, and pytest compatibility issue with
py_
chaining object when doctest run onpydash.__init__.py
.
- Optimize callback system for performance.
- Explicitly store arg count on callback for
pydash
generated callbacks where the arg count is known. This avoids the costlyinspect.getargspec
call. - Eliminate usage of costly
guess_builtin_argcount
which parsed docstrings, and instead only ever pass a single argument to a builtin callback function.
- Explicitly store arg count on callback for
- Optimize
get
/set
so that regex parsing is only done when special characters are contained in the path key whereas before, all string paths were parsed. - Optimize
is_builtin
by checking forBuiltinFunctionType
instance and then usingdict
look up table instead of alist
look up. - Optimize
is_match
by replacing call tohas
with atry/except
block. - Optimize
push
/append
by using a native loop instead of callback mapping.
- 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
add
support adding two numbers if passed in positionally. - Make
get
main definition andget_path
its alias. - Make
set_
main definition anddeep_set
its alias.
- Catch
AttributeError
inhelpers.get_item
and return default value if set.
- Fix bug in
reduce_right
where collection was not reversed correctly.
- Add
sort_by_order
as alias ofsort_by_all
. - Fix
is_match
to not compareobj
andsource
types usingtype
and instead useisinstance
comparisons exclusively. - Make
sort_by_all
accept anorders
argument for specifying the sort order of each key via booleanTrue
(for ascending) andFalse
(for descending). - Make
words
accept apattern
argument to override the default regex used for splitting words. - Make
words
handle single character words better.
- Add
fill
. - Add
in_range
. - Add
matches_property
. - Add
spread
. - Add
start_case
. - Make callbacks support
matches_property
style as[key, value]
or(key, value)
. - Make callbacks support shallow
property
style callbacks as[key]
or(key,)
.
- Add
ary
. - Add
chars
. - Add
chop
. - Add
chop_right
. - Add
clean
. - Add
commit
method tochain
that 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_bool
as alias ofis_boolean
. - Add
is_builtin
,is_native
. - Add
is_dict
as alias ofis_plain_object
. - Add
is_int
as alias ofis_integer
. - Add
is_match
. - Add
is_num
as alias ofis_number
. - Add
is_tuple
. - Add
join
as alias ofimplode
. - Add
lines
. - Add
number_format
. - Add
pascal_case
. - Add
plant
method tochain
that 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
run
as 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
truncate
as alias oftrunc
. - Add
to_boolean
. - Add
to_dict
,to_plain_object
. - Add
to_number
. - Add
underscore_case
as alias ofsnake_case
. - Add
unquote
. - Fix
deep_has
to returnFalse
whenValueError
raised during path checking. - Fix
pad
so that it doesn't over pad beyond provided length. - Fix
trunc
/truncate
so 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_case
capitalize
chars
chop
chop_right
class_case
clean
count_substr
decapitalize
ends_with
join
js_replace
kebab_case
lines
quote
re_replace
replace
series_phrase
series_phrase_serial
starts_with
surround
- 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
capitalize
acceptstrict
argument to control whether to convert the rest of the string to lower case or not. Defaults toTrue
. - Make
chain
support late passing of initialvalue
argument. - Make
chain
not store computedvalue()
. (breaking change) - Make
drop
,drop_right
,take
, andtake_right
have defaultn=1
. - Make
is_indexed
returnTrue
for tuples. - Make
partial
andpartial_right
accept keyword arguments. - Make
pluck
style callbacks support deep paths. (breaking change) - Make
re_replace
accept non-string arguments. - Make
sort_by
acceptreverse
parameter. - Make
splice
work with strings. - Make
to_string
convertNone
to empty string. (breaking change) - Move
arrays.join
tostrings.join
. (breaking change) - Rename
join
/implode
's second parameter fromdelimiter
toseparator
. (breaking change) - Rename
split
/explode
's second parameter fromdelimiter
toseparator
. (breaking change) - Reorder function arguments for
after
from(n, func)
to(func, n)
. (breaking change) - Reorder function arguments for
before
from(n, func)
to(func, n)
. (breaking change) - Reorder function arguments for
times
from(n, callback)
to(callback, n)
. (breaking change) - Reorder function arguments for
js_match
from(reg_exp, text)
to(text, reg_exp)
. (breaking change) - Reorder function arguments for
js_replace
from(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.
- Fix
remove
so that array is modified after callback iteration.
- Fix
kebab_case
so that it casts string to lower case.
- Add
ensure_ends_with
. Thanks k7sleeper! - Add
ensure_starts_with
. Thanks k7sleeper! - Add
quote
. Thanks k7sleeper! - Add
surround
. Thanks k7sleeper!
- Fix
merge
andassign
/extend
so they applyclone_deep
to source values before assigning to destination object. - Make
merge
accept a callback as a positional argument if it is last.
- Add
pipe
andpipe_right
as aliases offlow
andflow_right
. - Fix
merge
so that trailing{}
or[]
don't overwrite previous source values. - Make
py_
an alias for_
.
- Support
type
callbacks (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.
- 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_case
that 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_prop
an alias ofdeep_property
. - Make
has
work with deep paths. - Make
has_path
an alias ofdeep_has
. - Make
get_path
handle escaping the.
delimiter for string keys. - Make
get_path
handle list indexing using strings such as'0.1.2'
to access'value'
in[[0, [0, 0, 'value']]]
. - Make
concat
an alias ofcat
.
- 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
.
- 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 onlyitem
will be passed in when callback is invoked. Previously, callbacks had to support all arguments or implement star-args. - Make
chain
lazy and only compute the final value whenvalue
called. - Make
compose
an alias offlow_right
. - Make
flatten
shallow by default, remove callback option, and addis_deep
option. (breaking change) - Make
is_number
returnFalse
for booleanTrue
andFalse
. (breaking change) - Make
invert
acceptmultivalue
argument. - Make
result
acceptdefault
argument. - Make
slice_
accept optionalstart
andend
arguments. - Move files in
pydash/api/
topydash/
. (breaking change) - Move predicate functions from
pydash.api.objects
topydash.api.predicates
. (breaking change) - Rename
create_callback
toiteratee
. (breaking change) - Rename
functions
tocallables
in order to allowfunctions.py
to exist at the root of the pydash module folder. (breaking change) - Rename private utility function
_iter_callback
toitercallback
. (breaking change) - Rename private utility function
_iter_list_callback
toiterlist_callback
. (breaking change) - Rename private utility function
_iter_dict_callback
toiterdict_callback
. (breaking change) - Rename private utility function
_iterate
toiterator
. (breaking change) - Rename private utility function
_iter_dict
toiterdict
. (breaking change) - Rename private utility function
_iter_list
toiterlist
. (breaking change) - Rename private utility function
_iter_unique
toiterunique
. (breaking change) - Rename private utility function
_get_item
togetitem
. (breaking change) - Rename private utility function
_set_item
tosetitem
. (breaking change) - Rename private utility function
_deprecated
todeprecated
. (breaking change) - Undeprecate
tail
and make alias ofrest
.
- 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_exp
andescape_re
. - Add
is_error
. - Add
is_reg_exp
andis_re
. - Add
kebab_case
. - Add
keys_in
as 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_in
as alias ofvalues
. - Create
pydash.api.strings
module. - Deprecate
tail
. - Modify
drop
to acceptn
argument and remove as alias ofrest
. - Modify
take
to acceptn
argument and remove as alias offirst
. - Move
escape
andunescape
frompydash.api.utilities
topydash.api.strings
. (breaking change) - Move
range_
frompydash.api.arrays
topydash.api.utilities
. (breaking change)
- Add Python 2.6 and Python 3 support.
- Add
after
. - Add
assign
andextend
. Thanks nathancahill! - Add
callback
andcreate_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_right
andfoldr
. - 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
.
- 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
.