Comments (7)
The splitting seems too fine grained IMO. Why not split by data vendor only?
from pandas-datareader.
I think the utility functions, which is anything that isn't vendor specific, should also be collected in shared, rather than having one file per function.
from pandas-datareader.
what utility function will you put in "shared" ?
I will personally move function to "shared" only if they are actually shared.
I used this fine grained split because it will be easier for me to add caching (see #48 ) this way like I did in https://github.com/femtotrader/pandas_datareaders_unofficial .
Moreover it will be easier to see what is done and what need to be done.
from pandas-datareader.
A vendor can decide to deprecate one API and not other ones.
Is Yahoo Finance Components deprecated ?
With one file per reader it will be IMHO easier and could also avoid spaghettis.
from pandas-datareader.
I've never some across a package that has one function per file (or anything close). With modern editors it doesn't matter how large the files is since you can always use folding to hide anything you don't want to see.
In terms of caching, is there some reason now to use django-style @cache
decorator that assumes the exact same set of inputs produces the same output, so that only the final result is cached, and the reader doesn't need to be modified?
from pandas-datareader.
I'm fine with splitting by API. I agree with @bashtage though, I don't think we need one file per shared function. Just one shared file works.
Any benefit of using subpackages by vendor?
Ie: pandas_datareader/yahoo/options.py
Ie: pandas_datareader/yahoo/actions.py
from pandas-datareader.
@davidastephens subpackage suggestion looks reasonable and seems to be more canonical Python packaging.
So something like pdr/vendor/datatype plus pdr/common.py where common is anything that isn't vendor specific.
from pandas-datareader.
Related Issues (20)
- DeprecationWarning: distutils Version classes are deprecated HOT 4
- Problem of fetching SP500 component stock list HOT 1
- get_quote_yahoo is not working any more... HOT 4
- requests.exceptions.SSLError: HTTPSConnectionPool(host='stats.oecd.org', port=443): Max retries exceeded with url: /SDMX-JSON/data/PRICES_CPI/all/all (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:997)')))
- Line 234 of tiingo.py needs to be updated according to new pandas update HOT 2
- 'DataFrame' object has no attribute 'append' HOT 4
- AttributeError: module 'configparser' has no attribute 'SafeConfigParser' HOT 13
- get_nasdaq_symbols() is failing today. API endpoint problem? HOT 6
- get_sector_performance_av returning Meta Data HOT 1
- FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime' HOT 2
- ImportError: cannot import name 'reduce' from 'pandas_datareader.compat' when using pandas_datareader.wb HOT 1
- TypeError when indexing response from DataReader with 'yahoo' as data source HOT 1
- Future release(s) of pandas-datareader HOT 2
- AttributeError: module 'configparser' has no attribute 'SafeConfigParser' HOT 2
- Actualize docs after setup modernization
- web.DataReader + "fred": Failed Downloads
- TypeError HOT 1
- TypeError: string indices must be integers, not 'str' HOT 1
- STDERR is used instead of an exception HOT 1
- PyPi Long Description Content Type is incorrect
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pandas-datareader.