- fix missing import for
get_source_link
(#392), thanks to @hamelsmu - fix missing import (#391), thanks to @hamelsmu
- add loop functions, thanks to @willmcgugan (#363)
- add
walk
function (#355) - add
globtastic
andcompile_re
(#354) - add
exec_new
(#350) - add
PythonKernel
(#348) - add
flatten
- avoid expansion of
%
format strings infastcore.script
(#349)
- add class init support to docments (#347)
- add timeout param to url functions (#346)
- add
L.argfirst
(#345) - add
Path.relpath
(#344) - add
full
andreturns
todocments
, and derive type from default infastcore.script
(#342) - allow use of
docments
infastcore.script.call_parse
(#341) - add
docments
(#340)
untar_dir
always extracts archive even if already exists (#337)
- Support py36 in
untar_dir
- New method:
Path.delete()
to remove a file or directory (#336) - Add
urlretrieve
, which as same asurllib.request.urlretrieve
but also works withRequest
objects (#335)
- remove fastai-specific pieces from
Config
(#334) - in
untar_dir
create a directory if there is more than one item in root of archive (#333) - allow directory
dest
inurlsave
(#327)
- make patch more compatible with classmethods (#309), thanks to @tezike
- Added order and list support for Pipeline.add (#297), thanks to @marii-moe
- support windows: only add lock if it runs parallelly (#283), thanks to @mszhanyi
- fix #304 UnicodeDecodeError while downloading git archive (#308), thanks to @pradeepbbl
- Fix saving str as bytes in urlsave (#278), thanks to @jochym
sparkline
errors when a value is given that exceedsmx
(#277)
- add
strcat
andmapt
(#273)
- add
loads_multi
(#271)
- ignored empty str
names
instore_attr
(#267) returns_none
not returning non-none type (#266)Transform
return type ignored (#265)test_eq
incorrect for pandasDataFrame
(#188), thanks to @kessido
- add
EventTimer
(#263) - Store kwargs in `store_attr (#262)
- add
truncstr
(#261) - add
sparkline
(#260) - add
autostart
for generators (#249) - dynamic fastcore.script help width (#247)
- optional override to
risinstance
to support both types and str in the same function (#191), thanks to @kessido
- delegates doesn't pull the
__init__
of a class (#217) test_eq
incorrect for pandasDataFrame
(#188), thanks to @kessido
- enum support for
call_parse
(#245) - Added obj2dict (#244)
return_headers
param forurlsend
andurlread
(#242)- add common Chrome headers (#241)
- add
utc2local
andlocal2utc
(#239) - add
Path.read_json
(#238)
*args
not handled correctly in process/thread pools (#246)
- regression in urlopen header user-agent not set (#237)
loads
incompatible with Python 3.9 (#236)- Documentation search not working (#235)
- split
parallel
andnet
modules out ofxtras
(#234) - New HTTP Exceptions hierarchy for each status code, used by
url*
functions - add
Request.summary
anddebug
paramaeter tourlsend
(#233) - Add
ImportEnum
,StrEnum
, andstr_enum
(#232) - handle encoded data in
urlrequest
(#231)
- use
__slots__
instore_attr
if exists (#226) - add
urlrequest
(#225) - add
loads
andurlsend
(#224) - add
PartialFormatter
andpartial_format
(#223) - add
stringfmt_names
(#222)
- rename
negate_func
tonot_
for consistency with other curried ops (#221) - Support empty content for
urljson
(#219) - move
patch
andpatch_to
tofastcore.basics
, and avoid clobbering existing symbols when patching (#214)
- 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