- add
startthread
(#218) - make
run
compatible with py36 (#216) reuse_addr
param tostart_server
(#215)- add rfc3986 list to
urlquote
(#213)
- quote URL paths in
urlwrap
(#211) - Add
start_server
andstart_client
for simple socket networking (#210) - new
uniqueify
andval2idx
functions, and additional params tolistify
(#209) - improve representation in
basic_repr
(#197)
- remove
log_args
(#176)
Stateful
base class/mixin for objects that should not serialize all their state (#196)- new
frame
param toargnames
(#195) - add
urlopen
anduntar_dir
(#192) SCRIPT_INFO.func
to let functions know what CLI name was called infastcore.script
(#185)- add
annotations
andargnames
functions (#179) - allow
but
param instore_attr
to be eitherlist
orstr
(#174) - add
urlvalid
(#173)
@typed
doesn't work with classes (#183) (reported by @krishnap)
- add
repr_dict
and use for display forAttrDict
(#172) - add
urlsave
,urlclean
, andrepo_details
(#171) remove_suffix
function (#170)- add
urlcheck
andurlwrap
(#168) - new
AutoInit
mixin (#165)
risinstance
fails if param is not truthy (#166)
- callable support for
Self
(#162) - add filter func to
first
(#161) maybe_open
context manager and fastimage_size
funcion (#160)
- Redundent
L.map_filter
removed (sinceL.map.filter
does the same thing)
change param name
copy_meta->
as_copyin
retain_meta` (#157)
groupby
extensions forint
andstr
instead of callables, and an optionalval
transform (#155)- add
modified_env
(#148)
- add
true
,NullType
,null
, andtonull
(#153) - add
working_directory
(#151) - move
bind
et al tofastcore.basics
(#150)
- move basic functionality into
fastcore.basics
, using minimal imports (#149) - add
anno_dict
andempty2none
inmeta
(#145)
- support
store_true
andstore_false
infastcore.script
(#137) - add function
otherwise
(#136) - add
pdb
debug flag to scripts (#133) - Update
copy_func
to include required keyword defaults (#134), thanks to @worc3131
Config
no longer magically convertsstr->Path
for any keys. Use newpath
method instead (#131)
rinstance
: Curriedisinstance
but with args reversed, suitable forpartial
(#130)- Use
_repr_pretty_
forL
(#129) open_file
to open optionally-compressed files for reading and writing, and add compression support toload_pickle
andsave_pickle
(#128)- add context manager for failed tests (#126), thanks to @hamelsmu
- Add
Request.request
support tourlread
(#132)
- runtime type checking with
typed
decorator (#125)
threaded
decorator (#124)- POST support for
urlread
(#124) - add
sorted_ex,
map_ex,
filter_ex, and
argwhere` (#122)
- Remove
Path.{read,write}
(usePath.{read_text,write_text}
instead) and changePath.{load,save}
to functionsload_pickle
andsave_pickle
(#121)
- add
L.setattrs
, inspired by Saul Pwanson (#117) - move
Config
fromnbdev
(#116) - add
nested_attr
and use it inL.attrgot
(#115)
patch_property
: usepatch(as_prop=True)
instead
- New param
cast
forstore_attr
and new decoratorwith_cast
(#114) - add
L.insert
andexec_local
(#113) - Patch decorator with optional argument (#110), thanks to @Salehbigdeli
- Make typedispatch decorator more general (#106), thanks to @Salehbigdeli
- Fix default in oper (#112), thanks to @Salehbigdeli
- Inconsistency with
cmp_instance
andtypedispatch
because of binary sort algorithm (#100)
- add
ignore_ex=False
andas_bytes=False
params torun
(#108) AttrDict
: adict
subclass that also provides access to keys as attrs; and changedict2obj
to createAttrDict
s instead ofSimpleNamespace
s (#107)
run
: flexibly run an external process and raise exception if it fails (#105)
- add
threadpool=False
param toparallel
to use threads instead of processes (#102)
- add
L.map_filter
andL.map_first
(#97)- These support some nice refactorings, like changing from this:
to this:
d = [] for c in cs: m = f(c) if not m: continue d.append(m.group(1))
d = cs.map_filter(f).map(Self.group(1))
- These support some nice refactorings, like changing from this:
- Reapply fix for #86 which was unintentionally reverted by the next commit (#91)
dict2obj
: Convert (possibly nested) dicts (or lists of dicts) toSimpleNamespace
(#90)
- add function support to
store_attr
(#85)
mp_context
keyword for initialising concurrent.futures.ProcessPoolExecutor only supported in python 3.7+ (#86)
- remove
parallel_chunked
, usechunksize
arg toparallel
instead (#81)
- move fastscript to fastcore.script (#84)
- add
run_proc
anddo_request
(#83) - added
chunksize
toparallel
, which passes toProcessPoolExecutor.map
(#82) - move metaclasses and delegates et al to new
meta
module (#80)
- Remove numpy prerequisite (#75)
- NB: fastcore's
L
and other collection features still work with numpy arrays, but they do so internally using instance methods, so numpy is no longer a prerequisite, and numpy is not loaded if not used
- NB: fastcore's
- "has default params. These will be ignored" shown when not appropriate (#74)
- Change arguments of
store_attr()
and removestore_attrs
attribute (#71)store_attr
's API has changed.self
is now the second parameter, and is optional. Previously, if no names were passed to store, names were taken from thestore_attrs
attribute; now, however, names are taken from the list of arguments to the current function.
- Initial release