No current changes
- Option to hide interfaces from get
- Simplified
**kwargs
arguments in CLI - Adds save/load_attribute helper
- Adds
@cachable
decorator utility
- Eager callable resolution in versions
- Allow module dependencies in on_resolve_remotes
- Fix CLI version parsing issue
- Improved version call normalizer
- Prevent recursions in self.future() calls
- Consistent
future()
behavior for Interface and Component - Support multi-line version arguments
- New configure and commit events
- Support interface **kwargs in CLI
- Adds
get.cached_or_fail
- Move
_machinable/project
tointerface/project
- Adds
Interface.future()
- Enable custom context lookups in index
- Adds
utils.file_hash
- Adds
Execution().deferred()
to prevent automatic dispatch - Respect CLI context order
- Determine CLI target based on order to allow non-component targets
- Ensure that config field is always reloaded from index to avoid incorrect recomputation
- Use text-based link relation by default
- Adds
Interface.related_iterator()
- Use nanoseconds since epoch in timestamp
- Adds
get.from_directory
andget.by_id
to query - Introduces stable IDs based on the commit-context
- Saves inverse relations and relationship meta-data in local directory
- Adds index.import_directory method
- Allows search by short ID instead of UUID
- Adds storage upload/download methods
- Adds Interface.related()
- Improved Globus storage example
- Ensure that committed in-session interface code is being updated
- Fix issue where extra data from schema is not reloaded from index
- Allow version extension via on_resolve_element
- Resolve remotes during project element import
- Allow arbitrary classes within on_resolve_element
- Ignore errors during storage symlink creation
- Only unflatten version at the top-level by default
- Adds
get.prefer_cached
modifier - Uses index and lazy directory fetch for faster interface retrieval
- Adds storage relation symlink for easier directory navigation
- Uses reversed uuid7 non-hex notation for easier tab-complete
- Support element list or instance in
get
for easy extension - Configurable project and python in component dispatch code
- Adds shell helpers
utils.run_and_stream
andutils.chmodx
- Supports get modifiers in CLI, closely matching the Python API
- Improves element string representation
- Adds
execution.output_filepath
andexecution.component_directory
- Reject stale context matches in
index.find
- Introduces cached
computed_resources
to supersedecompute_resources
- Fixes exception handling if raised within execution context
- Adds a priori modifiers
get.all
,get.new
etc. - Remove experimental enderscore feature
- Leverages UUID7 for timestamp information
- Drops support for EOL Python 3.7
- Upgrades to pydantic v2
- Drops default settings parser
- Handles non-existing keys in Element.matches scope lookup
- Propagate exceptions during mixin getattr lookup
- Adds scopes to support context annotations
- Adds all() and new() interface query modifiers
- Adds config
to_dict
helper - Gracefully end output streaming on keyboard interrupt
- Improved tracking of execution meta-data
- Reliable
.execution
access to make None-checks obsolete - Adds
stream_output
to simplify live monitoring of execution logs - Allow predicate specification based on the element kind
- Prevent index errors in multithreaded environments
- Disables automatic gathering of project relationship
- Drops commandlib dependency
- Fix Component.execution resolution for resource retrieval
- Generalized storage (#437)
- Support for in-session element instances
- Allow unstructured untyped dict-config
- Simplified event structure
- Convert multiple storage into regular element (#426)
- Revamped CLI using element version syntax (#422)
- Allow arbitrary plain file extensions when saving/loading files
- Filesystem storage captures groups within JSON files rather than directory name
- Represent independent schedule via
None
- Adds Execution.on_verify_schedule to verify execution schedule compatibility
- Complete rewrite using elementary approach. Check out the documentation to learn more.