Comments (17)
The issue is that 119
is listed in the stable channel at the moment: https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/stable/versions/all/releases. We need to determine whether there are additional properties in the update feed to filter to find the current release version.
from evergreen.
Stable says *.105, but in MSI is *.106, looks like Google's update meta data is wrong
from evergreen.
Unfortunately for us where we need consistency - The manner in which Google publish their meta data will always be wrong, especially when they release multiple 'Stable Release' versions at the same time. I'm sure Google have their reasons (??!?), but it just seems madness where we need some consistency.
The current release notes state "The Stable channel has been updated to 123.0.6312.105/.106/.107 for Windows"
Seems like a game of roulette... Am I going to get v.105, v.106 or v.107?
from evergreen.
These updated URLs though, won't change the status of this issue - there is no Extended installer and there doesn't appear to be a way to return a URL with a specific version of the installer.
Evergreen is returning a URL to a download similar to the official download page here: https://chromeenterprise.google/browser/download/#windows-tab
I've removed the bug label from this issue, because this isn't a bug.
from evergreen.
Confirmed here as well just now:
The version of GoogleChrome Stable x64 msi reported by Get-EvergreenApp is 119.0.6045.59 but the downloadeded .msi is version 118.0.5993.118 (which the Chrome download site reports as the correct stable channel version).
PS > Get-EvergreenApp googlechrome
Version : 119.0.6045.59
Architecture : x86
Channel : beta
Type : msi
URI : https://dl.google.com/dl/chrome/install/beta/googlechromebetastandaloneenterprise.msi
Version : 119.0.6045.59
Architecture : x64
Channel : beta
Type : msi
URI : https://dl.google.com/dl/chrome/install/beta/googlechromebetastandaloneenterprise64.msi
Version : 120.0.6091.0
Architecture : x86
Channel : canary
Type : exe
URI : https://dl.google.com/update2/installers/ChromeSetup.exe
Version : 120.0.6073.0
Architecture : x64
Channel : dev
Type : msi
URI : https://dl.google.com/dl/chrome/install/dev/googlechromedevstandaloneenterprise64.msi
Version : 120.0.6073.0
Architecture : x86
Channel : dev
Type : msi
URI : https://dl.google.com/dl/chrome/install/dev/googlechromedevstandaloneenterprise.msi
Version : 118.0.5993.118
Architecture : x86
Channel : extended
Type : msi
URI : https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise.msi
Version : 118.0.5993.118
Architecture : x64
Channel : extended
Type : msi
URI : https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
Version : 119.0.6045.59
Architecture : x86
Channel : stable
Type : msi
URI : https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise.msi
Version : 119.0.6045.59
Architecture : x64
Channel : stable
Type : zip
URI : https://dl.google.com/dl/chrome/install/GoogleChromeEnterpriseBundle64.zip
Version : 119.0.6045.59
Architecture : x64
Channel : stable
Type : msi
URI : https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
from evergreen.
Me too.
Evergreen
Version : 119.0.6045.105
Architecture : x64
Channel : stable
Type : zip
URI : https://dl.google.com/dl/chrome/install/GoogleChromeEnterpriseBundle64.zip
MSI
from evergreen.
Mee too - now the reportet stable version is the 120.0.6099.62
Version Architecture Channel Type URI
120.0.6099.62 x64 beta msi https://dl.google.com/dl/chrome/install/beta/googlechromebetastandaloneenterprise64.msi
120.0.6099.62 x86 beta msi https://dl.google.com/dl/chrome/install/beta/googlechromebetastandaloneenterprise.msi
121.0.6166.0 x86 canary exe https://dl.google.com/update2/installers/ChromeSetup.exe
121.0.6156.3 x64 dev msi https://dl.google.com/dl/chrome/install/dev/googlechromedevstandaloneenterprise64.msi
121.0.6156.3 x86 dev msi https://dl.google.com/dl/chrome/install/dev/googlechromedevstandaloneenterprise.msi
118.0.5993.159 x64 extended msi https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
118.0.5993.159 x86 extended msi https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise.msi
120.0.6099.62 x64 stable msi https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
120.0.6099.62 x64 stable zip https://dl.google.com/dl/chrome/install/GoogleChromeEnterpriseBundle64.zip
120.0.6099.62 x86 stable msi https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise.msi
the file (googlechromestandaloneenterprise64.msi) behind is the correct stable version 119.0.6045.200
from evergreen.
The stable and beta version have the same version number. 119.0.6045.200 is the correct version for the stable release.
Version : 120.0.6099.62
Architecture : x64
Channel : beta
Type : msi
URI : https://dl.google.com/dl/chrome/install/beta/googlechromebetastandaloneenterprise64.msi
Version : 121.0.6156.3
Architecture : x64
Channel : dev
Type : msi
URI : https://dl.google.com/dl/chrome/install/dev/googlechromedevstandaloneenterprise64.msi
Version : 118.0.5993.159
Architecture : x64
Channel : extended
Type : msi
URI : https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
Version : 120.0.6099.62
Architecture : x64
Channel : stable
Type : msi
URI : https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
from evergreen.
IMHO I think Evergreen is working exactly as it should in this case.
What we are seeing is the fact that Google have released "Chrome 120.0.6099.56 Early Stable Update" - Note the 'Early' in the name. (Previously raised in Issue 562)
https://chromereleases.googleblog.com/2023/11/early-stable-update-for-desktop.html
I think it should be considered that Google are 'Beta testing' their 'Early release stable channels' on a very small number of users (randomly chosen), so I suspect the URL that the software is downloaded from may either serve the Stable Release (at time of writing v119.0.6045.200) to the majority of users or 'Early' Stable Release (at time of writing v120.0.6099.62).
As Google decide by an algorithm which file is served from the Download URI, I'd have to assume the versions detailed in the JSON that Google supplies is at times inaccurate.
My other bug bear is that Google often decide to release two different version numbers at the same time - most recent example: https://chromereleases.googleblog.com/2023/11/stable-channel-update-for-desktop_28.html
So... Evergreen can not be expected to know accurately which version will be served by the Google algorithm
from evergreen.
I have found today that the stable version is 120.0.6099.109 (or .110) where as the extended version is 120.0.6099.110, (https://chromereleases.googleblog.com/2023/12/stable-channel-update-for-desktop_12.html)
The problem is both versions are served from exactly the same URI:
https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
N.B. This location is defined (the same for both) in the Evergreen manifest file "C:\Program Files\WindowsPowerShell\Modules\Evergreen\<version>\Manifests\GoogleChrome.json"
file
Evergreen is currently showing Stable is .109 and extended is .110
Get-EvergreenApp Googlechrome -verbose | Where-Object {$_.Architecture -eq "x64" -and $_.Type -eq "msi" -and ($_.Channel -eq "stable" -or $_.Channel -eq "extended")} | Sort-Object Version
VERBOSE: Function path: C:\Program Files\WindowsPowerShell\Modules\Evergreen\2312.878\Apps\Get-Googlechrome.ps1
VERBOSE: Function exists: C:\Program Files\WindowsPowerShell\Modules\Evergreen\2312.878\Apps\Get-Googlechrome.ps1.
VERBOSE: Dot sourcing: C:\Program Files\WindowsPowerShell\Modules\Evergreen\2312.878\Apps\Get-Googlechrome.ps1.
VERBOSE: Get-FunctionResource: read application resource strings from [C:\Program Files\WindowsPowerShell\Modules\Evergreen\2312.878\Manifests\Googlechrome.json]
VERBOSE: Calling: Get-Googlechrome.
VERBOSE: Get-GoogleChrome: Channel: extended.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UserAgent: Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.19045; en-GB) AppleWebKit/534.6 (KHTML, like Gecko) Chrome/7.0.500.0 Safari/534.6.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Uri: https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/extended/versions/all/releases.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: ContentType: application/json; charset=utf-8.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: MaximumRedirection: 2.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Method: Default.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: DisableKeepAlive: True.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UseBasicParsing: True.
VERBOSE: Requested HTTP/1.1 GET with 0-byte payload
VERBOSE: Received HTTP/1.1 response of content type application/json of unknown size
VERBOSE: Content encoding: utf-8
VERBOSE: Get-GoogleChrome: Version: 120.0.6099.110
VERBOSE: Get-FileType: found extension: [msi]
VERBOSE: Get-Architecture: Architecture not found in https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise.msi, defaulting to x86.
VERBOSE: Get-FileType: found extension: [msi]
VERBOSE: Get-GoogleChrome: Channel: stable.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UserAgent: Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.19045; en-GB) AppleWebKit/534.6 (KHTML, like Gecko) Chrome/7.0.500.0 Safari/534.6.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Uri: https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/stable/versions/all/releases.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: ContentType: application/json; charset=utf-8.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: MaximumRedirection: 2.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Method: Default.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: DisableKeepAlive: True.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UseBasicParsing: True.
VERBOSE: Requested HTTP/1.1 GET with 0-byte payload
VERBOSE: Received HTTP/1.1 response of content type application/json of unknown size
VERBOSE: Content encoding: utf-8
VERBOSE: Get-GoogleChrome: Version: 120.0.6099.109
VERBOSE: Get-FileType: found extension: [msi]
VERBOSE: Get-FileType: found extension: [zip]
VERBOSE: Get-Architecture: Architecture not found in https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise.msi, defaulting to x86.
VERBOSE: Get-FileType: found extension: [msi]
VERBOSE: Get-GoogleChrome: Channel: beta.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UserAgent: Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.19045; en-GB) AppleWebKit/534.6 (KHTML, like Gecko) Chrome/7.0.500.0 Safari/534.6.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Uri: https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/beta/versions/all/releases.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: ContentType: application/json; charset=utf-8.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: MaximumRedirection: 2.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Method: Default.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: DisableKeepAlive: True.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UseBasicParsing: True.
VERBOSE: Requested HTTP/1.1 GET with 0-byte payload
VERBOSE: Received HTTP/1.1 response of content type application/json of unknown size
VERBOSE: Content encoding: utf-8
VERBOSE: Get-GoogleChrome: Version: 121.0.6167.16
VERBOSE: Get-FileType: found extension: [msi]
VERBOSE: Get-Architecture: Architecture not found in https://dl.google.com/dl/chrome/install/beta/googlechromebetastandaloneenterprise.msi, defaulting to x86.
VERBOSE: Get-FileType: found extension: [msi]
VERBOSE: Get-GoogleChrome: Channel: dev.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UserAgent: Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.19045; en-GB) AppleWebKit/534.6 (KHTML, like Gecko) Chrome/7.0.500.0 Safari/534.6.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Uri: https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/dev/versions/all/releases.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: ContentType: application/json; charset=utf-8.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: MaximumRedirection: 2.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Method: Default.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: DisableKeepAlive: True.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UseBasicParsing: True.
VERBOSE: Requested HTTP/1.1 GET with 0-byte payload
VERBOSE: Received HTTP/1.1 response of content type application/json of unknown size
VERBOSE: Content encoding: utf-8
VERBOSE: Get-GoogleChrome: Version: 122.0.6170.5
VERBOSE: Get-FileType: found extension: [msi]
VERBOSE: Get-Architecture: Architecture not found in https://dl.google.com/dl/chrome/install/dev/googlechromedevstandaloneenterprise.msi, defaulting to x86.
VERBOSE: Get-FileType: found extension: [msi]
VERBOSE: Get-GoogleChrome: Channel: canary.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UserAgent: Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.19045; en-GB) AppleWebKit/534.6 (KHTML, like Gecko) Chrome/7.0.500.0 Safari/534.6.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Uri: https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/canary/versions/all/releases.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: ContentType: application/json; charset=utf-8.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: MaximumRedirection: 2.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: Method: Default.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: DisableKeepAlive: True.
VERBOSE: Invoke-EvergreenRestMethod: Invoke-RestMethod parameter: UseBasicParsing: True.
VERBOSE: Requested HTTP/1.1 GET with 0-byte payload
VERBOSE: Received HTTP/1.1 response of content type application/json of unknown size
VERBOSE: Content encoding: utf-8
VERBOSE: Get-GoogleChrome: Version: 122.0.6184.0
VERBOSE: Get-Architecture: Architecture not found in https://dl.google.com/update2/installers/ChromeSetup.exe, defaulting to x86.
VERBOSE: Get-FileType: found extension: [exe]
Version : 120.0.6099.109
Architecture : x64
Channel : stable
Type : msi
URI : https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
Version : 120.0.6099.110
Architecture : x64
Channel : extended
Type : msi
URI : https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
Unsure if this helps anyone else, But in my case I don't really care whether it's the stable or extended channel - I just want the latest version of either.
So I have a workaround - I can always grab the latest version number, by returning both extended and stable, then sorting by Version and finally grabbing the last (or highest) version number with the following PowerShell :
Get-EvergreenApp Googlechrome | Where-Object {$_.Architecture -eq "x64" -and $_.Type -eq "msi" -and ($_.Channel -eq "stable" -or $_.Channel -eq "extended")} | Sort-Object Version | Select-Object -Last 1
Version : 120.0.6099.110
Architecture : x64
Channel : extended
Type : msi
URI : https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
If this still doesn't solve the version number reliability, I may resort to a sanity check of the downloaded msi file using Get-FileMetaData
e.g.
((Get-FileMetaData -Folder "<Folder where MSI resides>\file.msi" | Select-Object Comments -ExpandProperty Comments)-split(" "))[0]
from evergreen.
I just hit this issue today also... Stable/Extended showing as 122.0.6261.69 and 122.0.6261.70 respectively, but both from the same URL (which downloads the Extended one ending in .70).
I guess I could just switch to using the Extended channel if this is always the version that gets served up by the fixed URL, but I will have to test that over a time period to see if it's viable.
from evergreen.
from evergreen.
Yep - Entirely expected
The Release Notes for this Early Stable update state:
"The Stable channel has been updated to 124.0.6367.60 for Windows and Mac as part of our early stable release to a small percentage of users...."
Google use some sort of magic to restrict how many users get this early version - the rest will continue to recieve the last stable release until the next stable release is fully available.
from evergreen.
These updated queries might work for providing the required version data:
- Extended: https://chromiumdash.appspot.com/fetch_releases?channel=Extended&platform=Windows&num=6&offset=0
- Stable: https://chromiumdash.appspot.com/fetch_releases?channel=Stable&platform=Windows&num=6&offset=0
- Beta: https://chromiumdash.appspot.com/fetch_releases?channel=Beta&platform=Windows&num=6&offset=0
- Dev: https://chromiumdash.appspot.com/fetch_releases?channel=Dev&platform=Windows&num=6&offset=0
- Canary: https://chromiumdash.appspot.com/fetch_releases?channel=Canary&platform=Windows&num=6&offset=0
Time stamp data
- Extended: https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/extended/versions/all/releases?filter=endtime=none
- Stable: https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/stable/versions/all/releases?filter=endtime=none
- Beta: https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/beta/versions/all/releases?filter=endtime=none
- Dev: https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/dev/versions/all/releases?filter=endtime=none
- Canary: https://versionhistory.googleapis.com/v1/chrome/platforms/win64/channels/canary/versions/all/releases?filter=endtime=none
From here: https://chromiumdash.appspot.com/releases?platform=Windows
from evergreen.
The API for self-updating or downloading the installer used by the downloader on https://www.google.com/chrome/ returns the correct version. Even if the API is not for the enterprise MSI installer, both of them are updated to the same version almost at the same time according to my automation records.
$Object1 = Invoke-RestMethod -Uri 'https://update.googleapis.com/service/update2' -Method Post -Body @'
<?xml version="1.0" encoding="UTF-8"?>
<request protocol="3.0">
<os platform="win" version="10.0.22000" arch="x64" />
<app appid="{8A69D345-D564-463C-AFF1-A69D9E530F96}" version="" ap="x64">
<updatecheck />
</app>
</request>
'@
from evergreen.
Here's an update to GoogleChrome
that includes the start date for that channel that can be used as an additional data point for version compare, particularly for the Extended channel
Version StartDate Architecture Channel Type URI
------- --------- ------------ ------- ---- ---
125.0.6422.14 24/4/2024 x64 Beta msi https://dl.google.com/dl/chrome/install/beta/googlechromebetastandaloneenterprise64.msi
125.0.6422.14 24/4/2024 x86 Beta msi https://dl.google.com/dl/chrome/install/beta/googlechromebetastandaloneenterprise.msi
126.0.6449.0 30/4/2024 x86 Canary exe https://dl.google.com/update2/installers/ChromeSetup.exe
126.0.6439.0 26/4/2024 x64 Dev msi https://dl.google.com/dl/chrome/install/dev/googlechromedevstandaloneenterprise64.msi
126.0.6439.0 26/4/2024 x86 Dev msi https://dl.google.com/dl/chrome/install/dev/googlechromedevstandaloneenterprise.msi
124.0.6367.118 30/4/2024 x64 Extended msi https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
124.0.6367.118 30/4/2024 x86 Extended msi https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise.msi
124.0.6367.118 30/4/2024 x64 Stable msi https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise64.msi
124.0.6367.118 30/4/2024 x64 Stable zip https://dl.google.com/dl/chrome/install/GoogleChromeEnterpriseBundle64.zip
124.0.6367.118 30/4/2024 x86 Stable msi https://dl.google.com/dl/chrome/install/googlechromestandaloneenterprise.msi
from evergreen.
I've removed the bug label from this issue, because this isn't a bug.
Maybe the issue subject could also be amended to remove the '[Bug]: ' prefix?
from evergreen.
Related Issues (20)
- [Bug]: MozillaFirefox returns null for ESR_NEXT HOT 1
- [Feature]: Update MozillaFirefox channel names to human readable
- [Bug]: GoogleChrome reports "Method invocation failed because [System.String] does not contain a method named 'ToShortDateString'"
- [Bug]: Recent change to Resolve-SystemNetWebRequest appears to have broken URL's returned for Sourceforge based Apps HOT 9
- [Bug]: McneelRhino reports "Cannot validate argument on parameter 'Uri'"
- [Bug]: ChromiumChromeDriver reports HTTP 410
- [Bug]: MozillaFirefox outputs HTTP 403/404 HOT 2
- SourceForge changes affecting downloads with Save-EvergreenApp HOT 6
- [Bug]: VMware applications fail due to changes to product API HOT 3
- [Enhancement]: Add new Fast/Slow releases to Zoom HOT 3
- [Bug]: Firefox Error 404 HOT 1
- [Feature]: Microsoft ODBC Driver mulitple languages and Additional 'Base Version' attribute HOT 1
- [Feature]: Microsoft OLE DB Driver mulitple languages and Additional 'Base Version' attribute HOT 1
- [Feature]: Microsoft SSMS Additional 'Base Version' attribute HOT 3
- [Bug]: Get-EvergreenApp for AzureCLI does not return 64 bit installer HOT 2
- [Bug]: 7zip not working HOT 7
- [Bug]: GoogleChrome Version in Evergreen is 112 but when you download is it the expected 113 HOT 1
- [Bug]: Can't retrieve a list of Google Chrome Enterprise installs HOT 3
- [Bug]: Google Chrome Returning 410 error HOT 3
- [Bug]: MicrosoftAzureDataStudio - No update feed found for win32-x64 and insider HOT 2
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 evergreen.