NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #445 most downloaded on PyPI
Python supercharged for fastai development
Last release today
30 Sep 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
367 releases · first in 2019
layered Config with extra_files; Config repr (#456), thanks to @seeM
Config with extra_files; Config repr (#456), thanks to @seeMConfig by passing save=False (#455), thanks to @seeM== for non iterable args to all_equal (#453)AttrDict.copy, to return AttrDict instead of plain python dict (#451), thanks to @Salehbigdeliconsole_help (#448)basic_repr (#447)only and nested_setdefault collection functions (#446), thanks to @seeMcopy_func (#425), thanks to @seeMOne column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
move str2bool to fastcore.basics
str2bool to fastcore.basics (#441)Nothing published for this version
### New Features - start mode option for parallel
parallel (#440)### New Features - port to nbdev2 (#438) - add signature_ex
signature_exalways set __wrapped__ in call_parse
__wrapped__ in call_parse (#435)### Bugs Squashed - Fix missing import
add nested parser support to fastcore.script (#428), thanks to @seeM
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Importing fastcore.utils now longer imports fastcore.net
Custom raise message helper (#419), thanks to @muellerzr
docments handle delegates (#418), thanks to @hamelsmunested_callable and getcallable util (#417), thanks to @muellerzrhandle plain files in untar_dir
Add initial value for product and sum on L (#406), thanks to @radekosmulski
numpy-style docstring support for docments
docments (#405)### New Features - py310 annotation support (#402) - add set_nested_idx
Support union types with | in typedispatch and @patch
fix missing import for get_source_link (#392), thanks to @hamelsmu
add get_source_link from nbdev (#390), thanks to @hamelsmu
add loop functions, thanks to @willmcgugan
add class init support to docments
untar_dir always extracts archive even if already exists
untar_dir always extracts archive even if already exists (#337)Nothing published for this version
### New Features - Support py36 in untar_dir
untar_dirNew method: Path.delete() to remove a file or directory
remove fastai-specific pieces from Config
make patch more compatible with classmethods (#309), thanks to @tezike
urlsave using str instead of bytes
sparkline errors when a value is given that exceeds mx (#277)Nothing published for this version
### New Features - add strcat and mapt
strcat and mapt (#273)Nothing published for this version
Nothing published for this version
ignored empty str names in store_attr
dynamic fastcore.script help width
EventTimer (#263)truncstr (#261)sparkline (#260)autostart for generators (#249)risinstance to support both types and str in the same function (#191), thanks to @kessidoreturn_headers param for urlsend and urlread
regression in urlopen header user-agent not set
split parallel and net modules out of xtras
rename negate_func to not_ for consistency with other curried ops
reuse_addr param to start_server
Add start_server and start_client for simple socket networking
Stateful base class/mixin for objects that should not serialize all their state
1.3.5
log_args (#176)Stateful base class/mixin for objects that should not serialize all their state (#196)frame param to argnames (#195)urlopen and untar_dir (#192)SCRIPT_INFO.func to let functions know what CLI name was called in fastcore.script (#185)annotations and argnames functions (#179)but param in store_attr to be either list or str (#174)urlvalid (#173)@typed doesn't work with classes (#183) (reported by @krishnap)Nothing published for this version
Nothing published for this version
add repr_dict and use for display for AttrDict
maybe_open context manager and fast image_size funcion
change param name copy_meta->as_copy in retain_meta
add true, NullType, null, and tonull
move basic functionality into fastcore.basics, using minimal imports
add filter_dict, filter_keys, and filter_values
support store_true and store_false in fastcore.script
Config no longer magically converts str->Path for some keys. Use new path method instead
1.2.0
Config no longer magically converts str->Path for some keys. Use new path method instead (#131)rinstance: Curried isinstance but with args reversed, suitable for partial (#130)_repr_pretty_ for L (#129)open_file to open optionally-compressed files for reading and writing, and add compression support to load_pickle and save_pickle (#128)urlread does not work with Request.request (#132)Config no longer magically converts str->Path for any keys. Use new path method instead (#131)rinstance: Curried isinstance but with args reversed, suitable for partial (#130)_repr_pretty_ for L (#129)open_file to open optionally-compressed files for reading and writing, and add compression support to load_pickle and save_pickle (#128)Request.request support to urlread (#132)runtime type checking with typed decorator
add sorted_ex, map_ex, filter_ex, and argwhere`
Remove Path.{read,write} (use Path.{read_text,write_text} instead) and change Path.{load,save} to functions load_pickle and save_pickle
1.1.0
Path.{read,write} (use Path.{read_text,write_text} instead) and change Path.{load,save} to functions load_pickle and save_pickle (#121)Your coding agent can read these notes before it upgrades. Set up the MCP server →