* Fix foreach on routine where the inputs provided are not valid
* fix nixtla req + fix lint
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* Began the fax
* Bumped ruff
* Fixed a BUNCH of ruff errors
* Fixed a lot of ruff errors
* Simplify if statements
* Fixed black
* Updated some stuff
* Updated some stuff
* A lot more ruff fixes
* Added a fix
* Added a fix
* Fixed mypy
* Fixed some stuff
* Reverted one thing
* Small fix
* Small fix
* Small fix
* Added fix
* Added fix
* Update requirements
* Allow to set variables and do loops
* Fix mypy errors
* improve code
* mypy
* pylint
* accepts Openbb date keywords like 1MONTHAGO,LASTFRIDAY,3YEARSFROMNOW,NEXTTUESDAY
* warn fix
* add documentation for script foreach and vars creation
* refactor controller as per James request
* black linting
* add another warning
* Editing some routine enhancements (#5063)
* move routine to new file
* Move to relativedelta and add some tests
* Fix mocking
* Get match_and_return_openbb_keyword_date to 100% cov
* start testing parse script
* remove rogue prints
---------
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
* big improvement in routines tests
* mypy lint
* ruff lint
* lint
* typo
* test relative time
* cover edge case of home at end of script
* fix edge case for going to home at start
* explain better slicing
* foreach tests added
* lint
* allow foreach loops to have different var names that is iterating
* foreach more powerful
* warning when var in foreach is not used
* fail script when varname that iterates foreach loop is never defined
* black
* lint again
* ruff
* improve another edge case
* fix test and fix a description
* fix nft test and routine test
* why mutual fund test failing
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>