lavolp3 / mmm-avstock Goto Github PK
View Code? Open in Web Editor NEWMagicMirror module for displaying stock price with yfinance API
License: MIT License
MagicMirror module for displaying stock price with yfinance API
License: MIT License
Hi !
Is it possible to disable the direction display ?
And see only the graph
The last quote date is now showing on the right side of the table pushing the table to the center of the screen.
Side request is to make the timestamp either a controllable object or make size directly controllable in config.
Hi,
Just started using this as friend has asked to have stocks on his MM. I have desperately trying to understand how the symbols work for different stock exchanges. Is there anywhere on Alpha Vantage that I can search for a company and get their stock symbol?
For example one I am looking for is Rolls Royce, who are "rr" on the London Stock Exchange (FTSE). I have tried "rr", "rr.LS", "rr.LSE", "rr.FTS", "rr.FTSE" and nothing comes up. Is there an easy way to search for the correct symbols to use with this module?
Cheers!!
Hi,
I'm using the newest release version and it feels pretty good. I'm wondering if users are allowed to modify the request frequency to have more real-time basis data(consider that the API request limit is not a problem). Thank you so much.
Hi There
Stocks don't seem to be working with the latest update (2.0). Config included below. Have there been any changes to any of the config attributes?
{
"module": "MMM-AVStock",
"header": "US Stocks",
"position": "top_right",
"config": {
"apiKey": "mykey",
"timeFormat": "DD-MM-YYYY",
"symbols": [
"VOO",
"QQQ",
"AAPL",
"MSFT",
"AMZN",
"GOOGL"
],
"alias": [
"S&P 500 ETF",
"NDQ 100 ETF",
"Apple Inc",
"Microsoft Corp",
"Amazon.com Inc",
"Alphabet Inc"
],
"tickerDuration": 900,
"chartDays": null,
"mode": "table",
"decimals": 4
}
},
Hi, I was using the 'series' mode to have a clean line showing me the variation of prices in the last days. Since I updated the module, I lost the line
Hey!
I am unable to open two modules at the same time (I was hoping to open series on one side and table on another), but as soon as I try to open both, then one disappears
How can I take away 1) last quote
and 2) the minutes that the stock has been updated
thank you
Hello,
first of all thank you for your hard work, am very grateful for it.
got a problem with my config file, after starting MagicMirror there is always showing me a error with my config file.
Config file:
{
module: "MMM-AVStock",
position: "top_left", //"bottom_bar" is better for `mode:ticker`
config: {
apiKey : "deleted APIKey",
timeFormat: "DD-MM HH:mm",
width: null,
symbols : ["AAPL", "GOOGL", "TSLA"],
alias: ["APPLE", "GOOGLE", "TESLA"],
locale: config.language,
tickerDuration: 20,
chartDays: 90,
maxTableRows: null,
mode : "table", // "table" or "ticker"
showChart: true,
pureLine: false,
chartWidth: null,
showVolume: true,
chartInterval: "daily", // choose from ["intraday", "daily", "weekly", "monthly"]
movingAverage: {
type: 'SMA',
periods: [200],
},
decimals : 2,
chartType: 'line', // 'line', 'candlestick', or 'ohlc'
chartLineColor: '#eee',
chartLabelColor: '#eee',
coloredCandles: true,
debug: false,
}
},
see no problem with it, only added my API-Key to your code
Could you help me?
its in the upper_third section with
.MMM-AVStock {
padding-top: 450px;
transform: scale(0.7);
}
in custom.css
this is my config
{
module: "MMM-AVStock",
position: "upper_third",
config: {
apiKey : "XX9PEJ95PODWY2CX",
timeFormat: "DD-MM HH:mm",
width: null,
symbols : ["AAPL", "GOOGL", "AMZN", "GP", "SHLX", "AMD", "TSLA", "OMP", "DHT", "GECC", "CCL", "MO", "DGRO", "DGRW", "LOW", "CVS"],
alias: ["APPLE", "GOOGLE", "AMAZON", "GPWR", "SHELL", "AMD", "TESLA", "OASIS", "DHT", "GECC", "CARNIVAL", "ALTRIA", "DGRO", "DGRW", "LOWES", "CVS"],
purchasePrice: [120.45, 1234.56, 3002.34],
tickerDuration: 20,
chartDays: 90,
maxTableRows: null,
mode : "table", // "table" or "ticker" or "grid"
showChart: true,
showPurchasePrices: true,
showPerformance2Purchase: true,
chartWidth: null,
showVolume: true,
chartInterval: "daily", // choose from ["intraday", "daily", "weekly", "monthly"]
movingAverage: {
type: 'SMA',
periods: [200]
},
decimals : 2,
chartType: 'candlestick', // 'line', 'candlestick', or 'ohlc'
chartLineColor: '#eee',
chartLabelColor: '#eee',
coloredCandles: true,
debug: false
}
},
would like it to load the whole chart on startup, bug
Good morning. I've been runing AVstock on my displayboard for several months. Right now I'm noticing that when I come in in the morning, the value is accurate for market opening, but will not update for the rest of the day, even thoush 'last quote' is showing the current value.
Screenshot (via phone, sorry)
Note the update date is current, but the values are hours old.
Here's my config:
{
//disabled:true,
module: "MMM-AVStock",
position: "bottom_right",
config: {
apiKey : "REDACTED",
symbols : ["ADBE","AAPL","TSLA","^DJI"],
alias: ["ADOBE","APPLE","TESLA","DOW"],
tickerDuration: 20,
chartDays: 30,
mode: "table",
showChart: false,
chartWidth: null,
showVolume: false,
chartInterval: "Daily",
movingAverage: {
type: 'SMA',
periods: [200]
},
decimals : 2,
chartType: 'line', // 'line', 'candlestick', or 'ohlc'
chartLineColor: '#eee',
chartLabelColor: '#eee',
coloredCandles: true,
debug: false
}
},
Most recent pull was the last time i tried to fix this, a few weeks ago:
Author: Dirk <[email protected]>
Date: Tue Sep 8 12:34:15 2020 +0000
optimized purchasePrice option```
Any ideas?
Hello,
My question is in the title :)
I can't follow the : PX1 symbol
The free API limit is 500 calls per day. How is the call frequency organized in the module. If I understand correctly via the timer function. If the module calls the price every 13-15 seconds like in the config, the limit will be reached after 2 hours (125 min = 500 * 15 sec).
Is that right? We'd need to have a timer for the pooling requests and then another frequency for further calls.
Looks like the stocks are no longer displaying. Wondering if AlphaVantage revised their API?
Below is a minimal module config snippet (can be pasted into config.js.sample
) with this module installed as well as MMM-GoogleTasks. As long as both are enabled, MMM-AVStock doesn't show up at all. Once GoogleTasks is disabled (commented out), AVStock shows up again. Anyone know what's going on? I haven't seen such a conflict yet. Please let me know what other info would be useful to you.
modules: [
{
module: "alert",
},
{
module: "updatenotification",
position: "top_bar"
},
{
module: "clock",
position: "top_left"
},
{
module: "MMM-AVStock",
position: "lower_third",
},
{
// Seems to prevent AVStock module from showing up
module: "MMM-GoogleTasks",
position: "top_right",
},
]
Is it possible to have the 'ticker' style (name, price, amt change) in a static view like table or series? I want this to take up less space, meaning that I will only have a few stocks and want them to stack vertically with the minimal info. (Having only 3 stocks scrolling by on a ticker looks silly on my MM.)
Also, just found out that the graph does not extend over the whole width only on the generation. After switching the graph the first time, it works fine :)
Originally posted by @rodrigolousada in #47 (comment)
The title says it all: The Chart is not showing up, even if I use the example config.
Using 2.3.0, current config:
{
module: "MMM-AVStock",
position: "top_bar", //"bottom_bar" is better for `mode:ticker`
config: {
apiKey : "hidden",
timeFormat: "DD-MM HH:mm",
width: 800,
classes: "xsmall",
symbols : [list of symbols],
alias: [List of aliases],
tickerDuration: 20,
chartDays: 90,
maxTableRows: 12,
mode : "table", // "table" or "ticker"
showChart: true,
chartWidth: 800,
showVolume: true,
chartInterval: "daily", // choose from ["intraday", "daily", "weekly", "monthly"]
movingAverage: {
type: 'SMA',
periods: [200]
},
decimals : 2,
chartType: 'line', // 'line', 'candlestick', or 'ohlc'
chartLineColor: '#eee',
chartLabelColor: '#eee',
coloredCandles: true,
debug: false
}
},
Table is left justified instead of right. Looked through MMM-AVStock.js but clueless on how to make it left justified. Maybe it's an entry on config.js. Any help would be appreciated.
Thanks!
Ki
Hello,
First of all thank you for this great module. second I would like to ask how can I disable the Puch and Profit columns. I can't seem to get rid of them and I would not like to mess with the .js file. Am i missing something? please find below my config file:
module: "MMM-AVStock",
position: "top_left",
config: {
apiKey : "hidden for obvious reasons",
width : 70,
symbols : ["CI","UNH","CVS","ANTM","HUM"],
alias: ["CIGNA","UNITED HEALTHCARE","CVS HEALTH","ANTHEM","HUMANA"],
mode : "table",
showPurchasePrices : false,
showPerformance2Purchase: false,
showPurchase : false,
purchasePrice : false,
showChart : false
}
Hi how can i increase the max numbers of forex pairs to show up under ticker mode
Currently it shows total of 19 regardless what speed duration i select currently set to 60
First of all thank you so much for your great work and this awesome module! I really appreciate.
I was wondering if would be possible to have a ticket that is running through but instead of showing just empty space after the last stock showed up on the screen directly attach the first stock again to the ticket so that there won’t be any space.
I hope you know what I mean and maybe that is possible all ready.
Thanks
Clemens
Hi @lavolp3 and thanks for the current update, very nice.
Can you change font size? I add #AVSTOCK * to my custom.css but it might be interesting to be able to configure medium, large, small.
Dear Lavolp3,
thanks for your work and support of this module.
It would be nice if you can help me with the following questions:
Q1:
I tried a lot but did not succseed in getting data for the S&P500 and the german DAX.
Looking in the forum I found examples for CAC40 with the symbol ^FCHI working in the past with your module but
with my script I don't get information for these index. I tried tried typical shares like Microsoft, Apple and Airbus - all work.
I changed my module and the overall language to english - no change - still no information.
I deleted several options and used only a minimum of parameter - see below - still no information.
My script looks like this (I get information for apple with this script):
{
module: "MMM-AVStock",
position: "top_bar",
config: {
apiKey: "xxx",
symbols: ["AAPL","^GSPC","^DJI","^GDAX","^VIX"],
alias: ["Apple","S&P500","DowJones","DAX",VIX"],
mode: "grid",
showChart: false,
}
}
Since the documentation is not very large from alphavantage with respect to find the right
name and corresponding symbol -> Am I right that the yahoo finance search is a good solution to find
name and symbol of index/shares that fit to alphavantage API? https://finance.yahoo.com/
gives for Apple the AAPL. Or do you have a good search engine to find the right symbols? (especially for index like
S&P500)
Q2:
I tried to change the size of the graph. Beside "null" I only get very narrow graphs if I enter numbers - could you explain in some words how the parameter of graph width and chartWidth works? (does the numbers mean % of screen width or pixel or ...?) Is there an option to change the height?
Thanks a lot for your help.
Best regards.
Dres49.
Dear all,
I currently use two modules in my setup which for some unknown reason are cross-interacting in a unwanted way:
My config.js looks like this:
{
module: 'MMM-PIR',
position: 'bottom_center',
config: {
sensorPin: 4,
delay: 30000,
turnOffDisplay: true,
showCountdown: true,
callbackScripts: ["callback.py"]
}
},
{
module: "MMM-AVStock",
header: "Stocks",
position: "top_right", //"bottom_bar" is better for `mode:ticker`
config: {
apiKey : "XXXXXXXXXX", // https://www.alphavantage.co/
timeFormat: "DD-MM-YYYY HH:mm:ss",
symbols : ["aapl", "GOOGL", "AMZN"],
alias: ["Apple", "Google", "Amazon"],
tickerDuration: 60,
chartDays: 90,
poolInterval : 1000*15,
mode : "table", // "table", "ticker", "series"
decimals: 2,
candleSticks : false,
coloredCandles : false,
premiumAccount: false,
}
},
Now comes the peculiar thing: if I set
showCountdown: false,
in MMM-PIR the on screen countdown of this module disappears as intended but so does also the list of the AVStock. In fact the header of AVStocks is still there but the actual list does not appear. Also if I change the
mode : "table", // "table", "ticker", "series"
nothing happens. This behavior is fully reversible and reproducible. It would be great if someone could help me out on this.
Hi Guys,
I cant seem to get Australian stock on the module for my magic mirror
Im trying to get anz for example and in my config.js I have tried
ANZ
ANZ.AX
anz
anz.sx
But still does not deplay
Google works well
Any ideas?
{
//disabled:true,
module: "MMM-AVStock",
position: "top_right",
config: {
apiKey : "MY-API-KEY",
symbols : ["aapl", "anz", "nab", "iag", "bhp", "s32"],
}
},
Hello!
Please reply if there is possibility to change the module font? Currently it differs a lot from other modules and Stock table looks huge :)
For example, here is my setup: https://ibb.co/PxhyHTr
Would be great to have possibility to make font thinner (maybe disabling bold header?) or zoom the whole table to 70-80%.
Additionally, the status line of "last quote" does not change its position depending on the module location. Would be nice to have it on the left for position = left_smth and on the right if position =righ_smth
I installed this module today and copied the "Simple" configuration. Apple, Google and Tesla showing up. Great. Now let's see some other stocks. So I change:
symbols : ["AAPL", "GOOGL", "TSLA"],
to
symbols : ["MSFT", "AMZN"],
Nope. Still showing Apple and Google. But it only shows two, So it got the number right but not the code. No matter what I enter in symbols, it only shows Apple, Google and Tesla. I even changed the js file and left the symbols out in the config but still the same.
Am I doing something wrong here?
Hermann
Hello Dirk @lavolp3 ,
I use the ticker view, but not as a ticker (tickers are too restless for me), but as a fixed line display. I make this change via CSS.
But now I would like to display more stocks than fit into one line. I have integrated such a "newLine function" into my fork of the module MMM-NetworkScanner: see here.
Would this be interesting for your module? But I am afraid that I would destroy the ticker for those who want to use it. And I don't know enough about CSS to find a solution e.g. by using a parameter to switch off the ticker.
so I would probably need your help.
What do you think?
Regards
Josef
Dear all,
Wondering if anyone has been successful in using Hello Lucy to hide/show this module. I've got it working or all other (non default) modules but this one doesn't seem to respond at all. I've also tried different command words Stock, Money, Stock Report and Shares. Non of these worked.
Any ideas? Much apprecited
the issue seems to be the way you have it throwing errors, probably figure out a way to silence them?
i might have to give up on this app and make something work with the smartweb module and a spreadsheet instead idk, this doesnt seem to be working out so far, ill leave it sit if watchdog doesnt close magicmirror constantly because it thinks avstock crashed
[2020-12-18 22:07:02.766] [ERROR] [MMM-AVStock] ERROR: "An AlphaVantage error occurred. Thank you for using Alpha Vantage! Our standard API call frequency is 5 calls per minute and 500 calls per day. Please visit https://www.alphavantage.co/premium/ if you would like to target a higher API call frequency."
[2020-12-18 22:07:17.478] [ERROR] (node:931) UnhandledPromiseRejectionWarning: An AlphaVantage error occurred. Thank you for using Alpha Vantage! Our standard API call frequency is 5 calls per minute and 500 calls per day. Please visit https://www.alphavantage.co/premium/ if you would like to target a higher API call frequency.
[2020-12-18 22:07:17.488] [ERROR] (node:931) UnhandledPromiseRejectionWarning: An AlphaVantage error occurred. Thank you for using Alpha Vantage! Our standard API call frequency is 5 calls per minute and 500 calls per day. Please visit https://www.alphavantage.co/premium/ if you would like to target a higher API call frequency.
[2020-12-18 22:07:17.498] [ERROR] (node:931) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 8)
[2020-12-18 22:07:17.498] [ERROR] (node:931) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 8)
[2020-12-18 22:07:32.846] [ERROR] [MMM-AVStock] ERROR: "An AlphaVantage error occurred. Thank you for using Alpha Vantage! Our standard API call frequency is 5 calls per minute and 500 calls per day. Please visit https://www.alphavantage.co/premium/ if you would like to target a higher API call frequency."
[2020-12-18 22:07:47.667] [ERROR] (node:931) UnhandledPromiseRejectionWarning: An AlphaVantage error occurred. Thank you for using Alpha Vantage! Our standard API call frequency is 5 calls per minute and 500 calls per day. Please visit https://www.alphavantage.co/premium/ if you would like to target a higher API call frequency.
[2020-12-18 22:07:47.674] [ERROR] (node:931) UnhandledPromiseRejectionWarning: An AlphaVantage error occurred. Thank you for using Alpha Vantage! Our standard API call frequency is 5 calls per minute and 500 calls per day. Please visit https://www.alphavantage.co/premium/ if you would like to target a higher API call frequency.
[2020-12-18 22:07:47.675] [ERROR] (node:931) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 9)
[2020-12-18 22:07:47.677] [ERROR] (node:931) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 9)
[1079:1218/220758.300620:FATAL:memory.cc(22)] Out of memory. size=66564096
[2020-12-18 22:08:02.514] [ERROR] [MMM-AVStock] ERROR: "An AlphaVantage error occurred. Thank you for using Alpha Vantage! Our standard API call frequency is 5 calls per minute and 500 calls per day. Please visit https://www.alphavantage.co/premium/ if you would like to target a higher API call frequency."
[2020-12-18 22:08:07.411] [ERROR] Fri Dec 18 2020 22:08:07 GMT-0500 (Eastern Standard Time) - WatchDog: Heartbeat timeout. Frontend might have crashed. Exit now.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2020-12-19T03_08_18_914Z-debug.log
[2020-12-18 22:08:36.336] [ERROR] [MMM-AVStock] ERROR: "An AlphaVantage error occurred.
Did anything change? I paused to use this module, just commented out my configuration.
Now activated it back again, the module itself loads, but it does not load any data.
I can query alphavantage in my browser ok with my API key.
I updated to the current build. Anyone else experiencing problems?
The module will not display even with the default basic settings. I added my API key and used the exact config lines from the readme.
Hello !
First sorry for my english
I have an issue since few days
the display of the module is in plain middle
{
module: "MMM-AVStock",
position: "top_left,
config: {
apiKey : "HIDEN :-) ",
coloredCandles : true,
symbols : ["C40.PAR"],
alias: ["CAC40"],
mode : "table",
width: 400,
decimals: 2,
poolInterval : 5 * 60 * 1000,
tickerDuration: 5, // Ticker will be cycled once per this second.
timeFormat: "DD-MM-YYYY HH:mm:ss",
}
},
Hi guys, thanks for the work you are putting into this!
I like the possibility to show the purchase price. Would it be possible to show that in the table and grid view too?
The "direction" doesn't seem to do anything. It doesn't matter if I select row or column in table / grid, the stocks always show at the top and the chart below. Is there anything else I have to set to show them side by side like in your screen shot? And yes, I have restarted MMM after changing the config :-)
Edit: Looking at the source code, I notice that you are setting "width" to 100% and not 400px as you say in the configuration options. Setting width to e.g. 500 in the configuration file. placed the stocks and chart side by side.
Hermann
While we should be getting 5 requests per minute I am getting like 5 per day instead (last updated shows few hours ago). Is that normal ?
Hello,
does this module work with euronext and french stocks and the CAC?
I've tried many stuff, to get the hole thing a little bit smaller - but the only ones I could change was the graph.
with no width setting or adjusting the *.css file Its bigger than the rest on the left and cuts It
but If u set the width in the Mirror Config File to width: '75',, It only cuts the graph, but not the headline with the stock (75 just for testing)
Hello. I wanted to update this module, is this correct?
cd MagicMirror/modules/AVStock
git pull
Thanks in advance
How do I control scroll speed in the ticker??
I have a strange problem by using the series mode with the symbol "LHA.DE" (deutsche Lufthansa).
I only see a single bar in the chart. I testet it with the symbol "GOOGL" (like in the example) as well and there I get a nice chart as it should look like.
Do you know, where the problem is?
Are the data of LHA.DE in another format / formatted in another way, so the module can not create a nice view?
HI @lavolp3 and thanks for the current update, very nice.
Unfortunately, I habe quite a number of stocks to request, which takes up most of the page (I use mmm-pages to rotate pages).
So, the new layout takes up more space and the nice graphs will not display, as the number of stocks is too big.
Maybe, for table mode, you could make "pages", so that a maximum of x rows is shown (and graphs below) and rotate between the pages every x seconds? Would be great!
0|MagicMirror | { Error: spawn ENOMEM
0|MagicMirror | at _errnoException (util.js:1024:11)
0|MagicMirror | at ChildProcess.spawn (internal/child_process.js:323:11)
0|MagicMirror | at Object.exports.spawn (child_process.js:514:9)
0|MagicMirror | at Git._schedule (/home/pi/MagicMirror/node_modules/simple-git/src/git.js:1338:41)
0|MagicMirror | at _combinedTickCallback (internal/process/next_tick.js:131:7)
0|MagicMirror | at process._tickCallback (internal/process/next_tick.js:180:9) code: 'ENOMEM', errno: 'ENOMEM', syscall: 'spawn' }
0|MagicMirror | { Error: spawn ENOMEM
0|MagicMirror | at _errnoException (util.js:1024:11)
0|MagicMirror | at ChildProcess.spawn (internal/child_process.js:323:11)
0|MagicMirror | at Object.exports.spawn (child_process.js:514:9)
0|MagicMirror | at Git._schedule (/home/pi/MagicMirror/node_modules/simple-git/src/git.js:1338:41)
0|MagicMirror | at _combinedTickCallback (internal/process/next_tick.js:131:7)
0|MagicMirror | at process._tickCallback (internal/process/next_tick.js:180:9) code: 'ENOMEM', errno: 'ENOMEM', syscall: 'spawn' }
0|MagicMirror | (node:869) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 82): Error: Call to device timed out
Hello,
Since a few days. I have an error log :
[ERROR] [AVSTOCK] Error: Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for TIME_SERIES_DAILY.
Thx in advance
Hi,
I am using the IEXCloud version. Quite nice.
Would it be possible to add a per-stock currency conversion? I get most prices in US$ while my bank shows everything in EUR.
Automatically get US$-EUR. And also apply to purchase prices.
Is it possible to convert the stock price from USD into some other currency ?
I have a stock that I want to monitor in CAD
Thanks
Hi,
some symbols (e.g. 6AQQ.FRK) will not be displayed in MM2 though the API Call provides data.
(replace xxx with your api key)
Others work fine.
Hey,
So I changed the last company to “amzn” but it still shows Samsung electronics and nothing shows in the table. Thanks
Is there a way to change to the updated time to 12-hour format because it doesn't work well with the other things in my smart mirror config.
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.