This release mainly solves some `investpy.search_quotes` bugs and also adds more functionality to the data that can be retrieved from the resulting `investpy.SearchObj` class instances while calling the function. Thanks a lot to all the people that reported this issues! :fire:
:bug: Bug Fixes
---
- __Some of the `investpy` static files were not being properly read__, as the `pd.read_csv` function interprets the value 'NA' as the `np.nan` value, so that it gets automatically substituted. What in this case was a problem since there's a Canadian stock with symbol 'NA' so the pandas function was parsing it as a NaN which was making the Canadian static files useless as that information could not be accessed, as described in https://github.com/alvarobartt/investpy/issues/346.
- __`investpy.SearchObj.retrieve_information` class method has been fixed__, since Investing.com has updated the HTML format just for the stocks/equities, and the generic scraping method that we developed in that function was no longer working. So on, that method has been updated so as to retrieve it assuming the latest HTML format for stocks/equities, while assuming the old format for all the other ones https://github.com/alvarobartt/investpy/issues/395, with the detail that whenever Investing.com applies the new HTML format to all the other financial products the transition will be automatic, since both approaches are being checked before retrieving the information.
- __Raised the same error (IndexError) whenever the data was not available due to an Investing.com error__, not related at all with the parsing method, but with the availability of that data in the website (https://github.com/alvarobartt/investpy/issues/212).
- __The results provided by `investpy.search_quotes` are now consistent__, since previously as the `n_results` parameter was added, it was making the function return a single element not just every time the parameter value was set to 1, which was the intention of that parameter, but also when there was just one search result even if the user specified a greater value or even None (retrieve all). So on, this was causing an inconsistency in the returned type as the `n_results=1` restriction was being applied even when the parameter was not set to 1, as reported in https://github.com/alvarobartt/investpy/issues/339.
- __Some other minor fixes!__
:balloon: New Features
---
- __`investpy.SearchObj` implements a new method to retrieve the technical indicators data from Investing.com for all the financial products__, as long as that information is available, just using the method `.retrieve_technical_indicators()` of each `investpy.SearchObj` class instance, as requested in 374, 391, and 392.
- You can also __retrieve the default currency of each financial product via the `investpy.SearchObj` class method `.retrieve_currency()`__, as this feature has been requested a lot lately as it's really important to get to know the currency in which the financial product's data is provided in, as requested in 172, 181, 381, and 390.
- Since the __Investing.com HTML has been updated__ (currently just for the stocks/equities but we think that this update will come sooner or later for all the other financial products available) we've included some conditions so as to use one data retrieval method or another depending on the HTML version lets say. So on, currently all the information provided by `investpy.SearchObj` class methods is aligned with the naming and format of the stocks'/equities' HTML, which means that we tried to align everything.
- __Now the `.retrieve_recent_data()` and `.retrieve_historical_data()` class methods of `investpy.SearchObj` have been updated so as to include the `Change Percentage (%)` value__ which is now provided by Investing.com, as spotted while going through https://github.com/alvarobartt/investpy/issues/375.
- __The `pytest` tests for the CI have also been updated__ since some functions were not being properly tested and some others were not even tested. This new tests, along with the addition of Windows-OS as the new testing OS alognside Linux (380), is making the __tests more consistent and reliable__.
- Finally, __the documentation has been also updated, as now it's using the [Furo](https://github.com/pradyunsg/furo) theme__ rather than the ReadTheDocs theme that it was using before, since I think Furo's theme is way cleaner and that, combined with the updated docs and explanations, will make the documentation __much more readable and easy to go through__.
:pushpin: Notes
---
You can install the new version as it follows:
``pip install investpy==1.0.7``
Or just update the one you already have:
``pip install investpy --upgrade``
:open_book: Information
---
Anyways, feel free to open as many [issues](https://github.com/alvarobartt/investpy/issues) as you think the package needs in order to improve **investpy**! Any kind of help is appreciated since this is an open-source project.
Contact me via [email](alvarobarttyahoo.com), via [LinkedIn](https://www.linkedin.com/in/alvarobartt/), via [Twitter](https://twitter.com/alvarobartt) or via [GitHub](https://github.com/alvarobartt).