Pop Release 9¶
Pop 9 introduces a number of enhancements to contracts, fixes for Windows, new data structures for more hub-like behavior and more! We are very proud to release pop 9!
Async Contracts¶
Up until now async contracts were not allowed in pop, using async functions for pre and post contracts would create issues in when the contracts would be called. This has been resolved with more powerful function introspection and pass-through. Now an async function can have async contracts.
Support for Async generators and contracts has also been deepened allowing contracts to work as expected for async generators.
Async functions have always worked well in pop, but these additions make async contractors much easier to build and maintain.
New Data Structures¶
The pop
sub has been extended to include a plugin called data.
As we have been building more and more projects in pop
we found that
a number of data patterns seemed to keep coming up. Instead of always
just adding a dict to the hub
we wanted to introduce data structures
that integrated more seamlessly with the hub.
We are pleased to introduce hub.pop.data.map to create a nested namespace. hub.pop.data.imap allows for an immutable nested namespace and will be used for the hub.OPT structure in the future. Finally we have hub.pop.data.dmap, the dynamic namespace. This structure tracks what function placed data on the structure so that the function can be re-run to refresh data sets, it is particularly useful for collection patterns.
Dyne Name Extensions¶
Dynamic names used for vertical app merging gathers data that can
be used to create extensions to app merging. Instead of hiding this
data deep inside of the hub
it has now been extended and exposed
so that it is easy for third party apps to dig into the internals
or app merging. The new hub.pop.dyne module exposes functions that
are useful in refreshing and pulling the dyne data.
Windows Fixes¶
Pop has run on Windows since version 7, but there were a few lingering
issues. This release gets the tests running on Windows and repairs
a few lingering issues in the corners of pop
that were coming up
on Windows.