hirano-satoshi / price-level-calculator Goto Github PK
View Code? Open in Web Editor NEWPrice level calculator: Pricing calculator that respects price levels of countries using Purchase Power Parity (PPP)
License: MIT License
Price level calculator: Pricing calculator that respects price levels of countries using Purchase Power Parity (PPP)
License: MIT License
Website https://data.imf.org/?sk=4FFB52B2-3653-409A-B471-D47B46D904B5
document https://data.imf.org/?sk=4FFB52B2-3653-409A-B471-D47B46D904B5&sId=1485878846789
map https://www.imf.org/external/datamapper/PCPIEPCH@WEO/CAQ
Harmonized Indexes https://data.imf.org/regular.aspx?key=61057839
Currently USD based exchange rates are stored in FixerExchangeRate as it is a dist, but it is not actually.
Bouvet Island which is not used.
Found on the log.
Done
"validation errors for LunchoData" occurs and requests fail with 500 error.
That occurs when requests.get() for a Forex data provider does not return response.ok.
The requests.get() in ppp_data.update() is called from main.init() which is called from post_worker_init() in configure_gunicorn.py.
Such failure may occur temporarily or permanently with the shutdown of the provider.
We have to save the last forex data to a file and load it if the get() fails.
From USD to JPY for example.
I wrote a local file version and it is commented out for new. And some test code is also commented out.
def test_server_api_error():
#XXX if os.path.exists(conf.Last_Fixer_Exchange_File):
# os.remove(conf.Last_Fixer_Exchange_File)
Proofreading is in progress with a contributor. Some corrections have been reflected and deployed.
Although exchange rates are fetched, they are not used during conversion from Luncho to local currencies. Luncho calculation reflects only PPP values.
To reflect the latest exchange rate of a currency in a country, we need the exchange rate at the moment when International Comparison Program measured the price levels in the country.
In STATISTICAL APPENDIX of World Economic Outlook 2021, they wrote:
So, we have to calculate the average exchange rate of the currency during the period above mentioned. And we can reflect the latest exchange rate against the average exchange rate.
We need a database. The current implementation runs on Google App Engine Standard (GAE) but it should run on any Docker container. If I use free Datastore on GAE, it won't run on other environment.
The default routing policy of Aurelia uses fragment URL with hash (#) such as https://luncho-index.org/#/about.html. Such URL scheme is not indexed by Google.
Aurelia supports pushState to remove # from URLs.
Catch-all is needed on FastAPI to use the pushState.
It would be nice if the single page has a map of the country with many lunch images with Luncho prices.
We could use aurelia-meta but it seems lacking i18n.
Currently Python and JS use different method names.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.