Giter VIP home page Giter VIP logo

epimetheus's Introduction

Epimetheus Introduction

Codacy Badge

Epimetheus offers a dashboard/UI to visualize data from TestArchiver.

Installation

Requirements

  1. PostgreSQL database with archived result data
  2. Python v3+
  3. Node.js v10+

Database

Currently, the only supported database engine is PostgreSQL. It can be local or cloud version.

Backend

If you have multiple python installations on your machine, remember to use the 'python3' postfix, also with pip you might need to use 'pip3' to make sure the requirements get installed with the right python.

cd backend_server
pip install -r requirements.txt
python .\server.py --database dbname --host dbhost --user dbuser --pw dbpasswd --port 5000

Detailed information in backend readme.

Frontend

cd frontend
npm install
npm run start

Detailed information in frontend readme.

Usage

Once you have both frontend and backend running, you can open your browser to http://localhost:3000 and check the front user interface.

Note that there should be some data saved in the database before user interface will show something. For pushing data into database, consult TestArchiver documentation.

Installation with docker

Running project with Docker

Browser Support

Supported browsers are "all modern browsers". This means IE and some mobile browsers are not supported.

Contributing

Contributing guide

Code of Conduct

Code of Conduct

License

Apache 2.0

Release Notes

  • 1.2.1 (2022-08-16)

    • Query params read in initial state fixed. Makes sure passing and failing filters are included in the state.
    • BugFix for Issue 212 metadata not displaying
    • Fixes data duplication in simple build results API
    • Common search component for teams view, filters and average time for build series
  • 1.2.0 (2021-06-14)

    • Compare page
    • Team Name API
    • Team filter to series and team API
    • Refactoring frontend application state usage
    • Unify different component styles
    • Contribution and release documentation updates
    • Bug fixes:
      • #177 offset button reset

      • #174 Wrong build status when first fails and rerun passes

  • 1.1.0 (2021-03-12)

    • Simple build results API
    • Analysis view for a build with keyword analysis table
    • Keyword analysis API
    • Accessibility improvements
    • Style and file name refactoring
    • Dockerhub publishing for new releases
    • Features:
      • #141 Style and refactor the keyword analysis table enhancement

      • #138 Fix various bugs caused by the grid bug

      • #137 Simple single build results API enhancement

      • #135 Keyword execution time analysis tool enhancement

      • #133 Accessibility fix for checkbox bug

      • #131 Check color usage enhancement

  • 1.0.1 (2020-10-21)

    • Fixes a bug which prevented the frontend container from starting when using docker-compose
    • Changes the default port of Nginx in Dockerfile-prod container from 80 to 8080. Services in Docker containers are now running as non root user.
    • Layout fixes
    • New default font
    • Queryparams are now properly shown when switching between Overview and History layouts
    • Queryparams are properly removed from state if not needed
  • 1.0.0 (2020-09-22)

    • Completely updated layout and colour palette
    • Updated Breadcrumb nav
    • Overview -page for Series and Builds with graphical visualisation
    • Offset buttons to toggle between different builds in Series -view
    • Added metadata to Build- and Suite -view
    • Backend support for latest TestArchiver version
    • Slight data loading optimisation when toggling between different Series -views
    • Translation support

epimetheus's People

Contributors

codacy-badger avatar jpsalo avatar koops9 avatar lakooi avatar muusssi avatar nikamani avatar strangeworlder avatar tfrisk avatar tiiavalt avatar turso avatar vade5g avatar ville-friman-siili avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

tfrisk jmyllynen

epimetheus's Issues

Codacy issue fixes

Is your feature request related to a problem? Please describe.
There are few Codacy issues that may be relatively easy to fix.

Describe the solution you'd like
Let's try to fix some Codacy issues and improve code.

Fix various bugs caused by the grid

Describe the bug
There were multiple little bugs caused by the new grid system (#129).

  • 'Build' dropdown and 'Offset' buttons + input field were too far away from each other in Series' All builds view
  • Suite's result table had some overlapping with the icon
  • Due to the new grid system it was made more clear that selected Team's view did not have a proper H1

Expected behavior
Let's fix the bugs above.


Also fixed:

  • Added ParentSeries information to All builds overview view
  • Made Suite's result table's log message clickable/expandable only when the text is actually cropped
  • Fixed green accordion's title's styles

Unify table styles and create a side scroll for them that works with mouse click

Is your feature request related to a problem? Please describe.
Currently we have different tables that repeat almost the same styles multiple times. There's also a scroll indicator, but it doesn't look the way it should and the tables are missing a side scroll that is operable with mouse click.

Describe the solution you'd like

  • Unify and create a table component(s) so there's no need to repeat the styles.
  • Create a scroll indicator and a side scroll.

The result:

  • Created a new component called 'Table.jsx' that has two styles for tables: SpreadSheetTable and SimpleTable. SpreadSheetTable is the default.
  • Refactored few tables to use the new component: Serie's history, Build's history, Build's Analysis and Suite views
  • Renamed some 'Table.jsx' files to be more specific

Navigate to individual build page has incorrect series number

Describe the bug
Navigating to build page from history page without change

To Reproduce
Steps to reproduce the behavior:

  1. Go to Team page
  2. Click on any team
  3. Click on any series but all builds
  4. Text Series / Branch: All builds is displayed

Expected behavior
Expected to see correct series

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Mac
  • Browser: Chrome
  • Version: Current

Additional context

Series sorting is not working when backing to that page

Describe the bug
Series listing is not working as in specs. Order is not always latest run series

To Reproduce
Steps to reproduce the behavior:

  1. Go to teams page
  2. Pick a team with more than 2 series
  3. Click on team name in the top navbar (breadcrumbs)
  4. List should change

Expected behavior
List should be ordered by start time but its not always consistent

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: macOS
  • Browser: Chrome
  • Version [e.g. 22]

Additional context
Cause is related to using .reverse which flips order of series

Default database initialisation by backend server

Is your feature request related to a problem? Please describe.
When creating a new installation from scratch, backend server fails to start if using fresh postgresql installation without any databases added.

Describe the solution you'd like
It would be nice if epimetheus backend server would create database with sensible defaults if it does not exist. This would help with our attempts to create an openshift template for epimetheus.

Describe alternatives you've considered
Alternative is to notice database is empty, notify user and frontend and then keep the backend server running. That would satisfy openshift as the pod would be kept running instead of going into crash loop.

Additional context
We are writing openshift template for epimetheus and this issue/feature is blocking our efforts.

User guides, and more documentation.

Is your feature request related to a problem? Please describe.
We need more documentation and better user guides for the whole project, with relations to Test archiver and Change engine.

Describe the solution you'd like
More documentation and especially more user guides for setting up the whole stack.

Additional context
I'd actually on top of other documentation and instruction, like to create a video instructions on how to start archiving your tests and viewing the results.

Backend Support For Logging with Keywords

Is your feature request related to a problem? Please describe.
Currently there is no backend to support a frontend solution which would contain keywords of a build with logs.

Describe the solution you'd like
Create a backend query for the aforementioned problem

Reusable component for checkbox

Is your feature request related to a problem? Please describe.
There's currently no reusable component for checkbox, and the checkboxes' styles are now in LastRunCheckbox.styles.js file.

Describe the solution you'd like
Let's create a reusable checkbox component that is easy to use and doesn't require copying and pasting styles wherever it's used.

Feature: Team page

Is your feature request related to a problem? Please describe.
To realize the concept of teams, there should be a top level view for teams.

Describe the solution you'd like
We should have a page to show what teams are present in the selected system and what other data is assigned to those teams.

Additional context
This needs to be specified further before implementation. Probably has some effect on user navigation so it should be discussed with a designer.

Random small bug fixes

Describe the bug
Let's find and fix small bugs around the project, e.g. accessibility, style and other bugs that are too small to fix one by one in their own issues.

--
The result

Added:

  • aria-labels for offsetButtons
  • default case for breadcrumbs’ switch case

Deleted:

  • file: KeywordAnalysisTable.styles.js

Fixed:

  • checkbox container’s border color
  • front page’s icons’ sizes and margins
  • footer’s height and add some margin, and fixed the logo’s accessibility
  • breadcrumbs’ aria-labels
  • table’s scroll buttons’ aria-label
  • pie charts’ styles and header level
  • tabs’ active link’s hover
  • accordion’s first th’s width
  • table th’s margin

Removed:

  • redundant titles
  • duplicate ‘main’
  • redundant class ‘underline’
  • redundant ‘!important’s
  • redundant text-decoration from links, because it’s already a default style
  • redundant aria-label and content and hid duplicate content from screen reader

Other:

  • replaced pixels with css variables
  • external links open now in a new tab

Error handling ( e.g. network errors, bad params)

Is your feature request related to a problem? Please describe.
Currently if user types in a route that has bad params ( negative values, letters) frontend doesn't handle them at all.
Or if backend returns 404 or something else goes bad there is currently no way of displaying errors or that something went wrong to user

Describe the solution you'd like
Move network requests to a single location and have it handle issues correctly there ( fetch doesn't catch errors because promise just goes through try catch)

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Simplify application data handling

Is your feature request related to a problem? Please describe.
Currently application state handles too much data and it requires manual resetting on many occasions. This makes some tedious code and unnecessary patterns to work with.

Describe the solution you'd like
Let's try to move the state handling to local parent components so unwanted manual resetting the state won't be necessary

Reform accordion panel

Is your feature request related to a problem? Please describe.
Currently there's an accordion panel called 'Metadata', but it would be nicer if it were reusable.

Describe the solution you'd like
Let's reform the accordion panel so it's reusable and styled properly.

Epimetheus version from UI

Is your feature request related to a problem? Please describe.
When debuggin/testing Epimetheus, it would be useful to find the exact running version

Describe the solution you'd like
Given a running instance of Epimetheus, I would like to be able to see from the UI which specific version of the service is running. This could be quite discreet.

URL Navigation in history view, not fully implemented yet.

Is your feature request related to a problem? Please describe.
URL Navigation in history view, does not work yet, You can already search stuff by putting arguments
to the URL but the page does not update the url when you navigate with the page elements.
Also the state of the selected branch in stored in reducer, but it should also be in the URL
always.

Describe the solution you'd like
Since it's not a good idea to have the information it in both places (reducer and url params) it should be removed from the reducer state and only be used from the userParams( )

Add missing PropTypes

Is your feature request related to a problem? Please describe.
Some components are currently missing type checking with PropTypes.

Describe the solution you'd like
Let's add the missing PropTypes for each component. Some of this work was already started in issue #180.

GH Actions can't find the right docker-file for frontend containers.

Describe the bug
Our "production" docker file is deployed with the GH actions pipeline and build differently compared to the locally running versions.

The "production" version uses nginx and is build with a different base image and needs its own dockerfile. At the moment the pipeline was not able to find that file to build the container based on it.

To Reproduce
Steps to reproduce the behavior:

  1. See the results in https://github.com/salabs/Epimetheus/runs/588218390?check_suite_focus=true

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Improve Series view's chart and tables

Is your feature request related to a problem? Please describe.
Currently the chart is not responsive and the tables are not Epimetheus style.

Describe the solution you'd like
Let's try and make the chart more responsive and improve the tables' styles.

--
The result

  • Made the view's chart and tables more responsive

  • Improved the chart:

    • added titles for axis
    • relocated legend
    • changed headings from h3 to h2
  • Styled the tables to be more Epimetheus style

  • Added translations for the view

  • Added also hover + focus styles for ToggleButton

  • Removed redundant code

Stability table's failure section throws an error

Describe the bug
When trying to open stability table's failure section, Epi throws an error: TypeError: Cannot read property 'map' of null.

To Reproduce
Steps to reproduce the behavior:

  1. Teams
  2. Select a series
  3. Series: overview: navigate to stability table
  4. Click 'Failures' button

Build view filters only work on latest build

Describe the bug
Filters on build view only work properly on latest build. If you open older build from the series and try to filter tests, they are not filtered properly.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'History view'
  2. Click on 'any build link that is not the latest'
  3. Click on 'Hide passing tests'
  4. See passing tests that should not be there

Expected behavior
Filters are not filtering properly based on selected build. As the latest build works, there are probably some data-related bugs.

Desktop (please complete the following information):

  • OS: windows 10
  • Browser: firefox
  • Version 73.0

Sticky headers for tables

Long tables can be hard to navigate when headers are not visible.
It could be easier to scroll the tables if headers would be visible while scrolling.

Improve breadcrumbs

Is your feature request related to a problem? Please describe.
Currently breadcrumbs' code is very nested and somewhat repetitive.

Describe the solution you'd like
Let's try to make breadcrumbs' structure clearer.

Refactoring Test Automation

Is your feature request related to a problem? Please describe.
The directory structure of test automation is not intuitive for new people that join the project. The element used in test automation are not apparent for front end developers.

Describe the solution you'd like
Change the directory structure of test automation and add a custom identifier to help front end developers notice which elements are used in the test automation.

Improvements to cards

Is your feature request related to a problem? Please describe.
The current cards are not navigable with keyboard and their file naming is somewhat incorrect.

Describe the solution you'd like
Let's try to improve cards: their accessibility and their logic.

--

The result

  • Refactored the project's structure, renamed some files and divided files
  • Improved cards' accessibility and styles
  • From now on the card's headers are links to series view - not the hovering rows or the card itself
  • Created big css logic for rounding cards' corners

Release instructions to contributing guide

Is your feature request related to a problem? Please describe.
Release process has so far been too ad hoc and needs to be defined.

Describe the solution you'd like
Step by step instructions on how to create releases for Epimetheus.

Describe alternatives you've considered
This process should be mostly automated in the future.

Missing keyword analysis data breaks analysis table

Describe the bug
If there is keyword analysis data (basically most other testing frameworks apart from Robot Framework), the analysis table breaks.

Expected behavior
If no data should give appropriate error message

Accessibility fix for checkbox

Describe the bug
It's impossible to navigate to input checkbox because it has display: none. Navigation is broken with keyboard and with screen reader. Clicking the checkbox is possible because the visible part of the checkbox is done with svg and the true checkbox (input element) is hidden.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Series All build page
  2. Use tab key and try to navigate to the checkboxes under the header Hide tests that are
  3. See that checkbox doesn't receives focus

Expected behavior
Checkbox should be navigable and it should have visible focus styles.

Style and refactor the keyword analysis table

Is your feature request related to a problem? Please describe.
A keyword analysis table view was added in issues #135 and #137, and it needs some styling and refactoring.

Describe the solution you'd like
Style the new view and possibly do some refactoring if needed.

Feature: Single test result page

Is your feature request related to a problem? Please describe.
Current version does not show full details for a single test. They are only visible in database and querying them is cumbersome.

Describe the solution you'd like
New page to show results for a single test.

Describe alternatives you've considered
Single build view could be expanded but it would get cluttered easily if we add data there.

Additional context
Needs to be specified before implementation.

E2e tests fail

Describe the bug
Currently e2e tests fail probably due to incompatible robot framework version.

Additional context
Let's limit the robot framework's version to be 3.2.2

Unify link styles

Is your feature request related to a problem? Please describe.
Epimetheus' current link styles are a bit outdated according to the UI pictures.

Describe the solution you'd like
Let's unify the link styles so they match the UI pictures and there's no duplicate code.

--
The result

  • Unified link styles and removed redundant code
  • Fixed MainNav's link styles
  • Added accessible focus style for footer's links
  • Refactored Breadcrumbs

There are currently no styles for :visited links even though it appears in UI pictures. The visited link's color is something between grey and dark green and it's not one of Epimetheus' colors so visited styles were not added yet.

Unify buttons' styles

Is your feature request related to a problem? Please describe.
There are currently many button elements and their styles are repeated around the code base.

Describe the solution you'd like
Let's unify the buttons' styles and possibly create a reusable button component.

--

The result:
Created two new styles for buttons: DefaultButton and ToggleButton in button.styles.js file. There are no UI pictures yet for the toggle button, so current styles are only a guess what the button should look like, but at least now the styles are more consistent with the rest of the UI.

Turn header into a hamburger menu in small screens

Is your feature request related to a problem? Please describe.
There are currently too many links in the header so with mobile devices the header is broken:
Screenshot 2021-05-14 at 11 52 22

Describe the solution you'd like
Create a hamburger menu that replaces the "normal" header menu when the screen is too small to fit all the links.

Refactor project's structure

Is your feature request related to a problem? Please describe.
Project's structure and some filenames are not the most intuitive.

Describe the solution you'd like
Let's try to improve the file structure and naming.

--
The result

  • Renamed files
  • Relocated a bunch of files
  • Created new folders to clarify structure

Keyword execution time analysis tool

Is your feature request related to a problem? Please describe.
TestArchiver collects statistics of the keywords and their running time and Currently there is no ways to browse that data in the tool.

Describe the solution you'd like
A simple list of the keywords in a build and aggregated data from the keywords statistics table in the test archive. The table should be ordered by how much of the total execution time was spent execution the keyword in descending order.

Describe alternatives you've considered
I did some prototyping with the keyword statistics data and this table was the most generic but almost always interesting and meaningful analysis of the data. Other more detailed or complex prototypes would have required more qualifiers for the included keywords and made the feature less generic and much more complex.

Additional context
This tool is supposed to be released for RoboCon and its prototype will be demoed in a lightning talk.

Setup frontend production container to run as non-privileged user

Is your feature request related to a problem? Please describe.
OpenShift platform requires containers to run as non-privileged users. In practice that means containers cannot have root access. This means file access to root filesystem is read-only and privileged network ports (below 1024) should not be used. Current Dockerfile-prod setup does not work with OpenShift without modifications.

Describe the solution you'd like
For production docker image, use non-privileged port (for example 8080) and adjust nginx pid+temp file paths to /tmp.

Describe alternatives you've considered
Alternatively you can provide openshift-specific production dockerfile for frontend container.

Additional context
I can provide base config and test the deployment in openshift cluster.

Feature: Monitoring page

Describe the solution you'd like
A Feature, sub page in the frontend for monitoring. Could be used with an URL to implement
a "lava-lamp" kind of functionality that shows you the status of selected latest series with links to the
actual series and or build pages

Describe alternatives you've considered
Grafana dashboard application is similar to what I'm thinking about here.

Additional context
Solution could be more lightweight than grafana,
and users would not have to query the database, instead they could chose what series to show.
That information appended in the url would give them an url that can be used to view it on different machines.

Offset does not reset when changing to another Team

Describe the bug
When setting offset for a series history inside a team, the offset values won't reset even when you change to another team. This can cause unwanted behaviour or even failed data fetching.

To Reproduce
Steps to reproduce the behavior:

  1. Go to team -> history -> set offset value
  2. Go back to another team -> history page

Expected behavior
Offset values should reset when you leave the current history page

Create a reusable tab component

Is your feature request related to a problem? Please describe.
There's currently no reusable tab component and the current tab's styles are outdated.

Describe the solution you'd like
Create a reusable tab component and style it.


Things that were also done in this issue:

  • Removed a header from 'History' view, because it was causing inconsistency with styles and was not in the UI pictures.
  • Added a header to 'History' view because it was missing according to the UI pictures.
  • Fixed checkboxes' focus styles by a few pixels.

Add 'external' icon for external links

Is your feature request related to a problem? Please describe.
Currently there's no way of knowing whether link is internal or external until user clicks it.

Describe the solution you'd like
Let's add an external icon to each external link to indicate that it will take user outside of Epi.

--
The result

  • Created a new component (ExternalLink) that has the external icon right after link's label. It also has aria-label "external link), so external links can be identified by the screen readers as well.
  • Extra improvement: added default font for css font-family rule to fix warnings.

Wrong build status when first fails and rerun passes

Describe the bug
When a build has multiple results for the same test case (i.e. reruns) the build status can be wrongly fail even if all test pass in the rerun.

To Reproduce
Steps to reproduce the behavior:

  1. Execute and archive tests where some test cases of a test suite pass others fail
  2. Execute the test that failed in the previous run so that they pass and archive them to the same build
  3. While all test are shown to pass the build status shows failure

Expected behavior
The overall build status should always reflect the status of the last execution of each test case (and suite).

Compare and Search views

Is your feature request related to a problem? Please describe.
Based on the work that has been done in a previous branch https://github.com/salabs/Epimetheus/tree/feature/comparison-page, create a build comparison view and a search page for builds.

Describe the solution you'd like
Let's bring the old branch up-to-date with develop branch and style the views to fit Epi's styles a bit better.

--
The result

  • Styled the two new views created in a previous branch
  • Changed some props names to camel case

Known issues:

  • Because of accessibility, the search and compare actions must be links and not buttons (they navigate to a different page). Because they're links, they're impossible to disable so current solution is to hide them. Better solution might be that they're plain text when they're supposed to be disabled..?
  • The UI is still quite rough and the page structure is not planned (links to the new views are currently in the header)
  • Comparison view has terrible heading and breadcrumb and they do not include the teams' information, only series' and builds'

Test archive debugging API

Is your feature request related to a problem? Please describe.
When debugging any unexpected behaviour, it would be very useful to get information of what exactly is archived in the database.

Describe the solution you'd like
An API where one could query all the data related to a build in the the test archive database with only ids and no sensitive data such as test names or repositories. This could be shared to help debugging

Describe alternatives you've considered
While simply improving the normal APIs should also help debugging having this data without identifying information could be more easily shared by users. Also probably much easier for users to help debugging since they might not have access to the database.

Unique IDs for SVGs

Is your feature request related to a problem? Please describe.
Currently our clipPaths have same ID for same SVGs, so same ID can appear on multiple elements in DOM even though IDs should be unique.

Describe the solution you'd like
Create a solution that allows clipPaths ID to change, so there wouldn't be duplicate IDs.


The result

  • Created a new component for SVGs called SvgIcon.jsx
  • The component is used by giving it a parameter called svg with the argument of wanted SVG's name
  • Unique IDs are generated automatically, but one can also be given as parameter

Check color usage

Is your feature request related to a problem? Please describe.
There are currently colors in the codebase that are not in Epimetheus' color palette.

Describe the solution you'd like
Incorrect colors should be replaced with Epimetheus' own colors.

Additional context
Let's also check that all the Epimetheus' color palette's colors are added as variables.

Add support for internationalization and localization

Is your feature request related to a problem? Please describe.
Currently texts shown on pages are hard coded as English. To add support other languages these text should be parametrized. UI doesn't contain much text currently so this should be quite easy task to implement now.

Describe the solution you'd like
There are probably multiple libraries to solve this problem. I don't have enough experience to recommend specific library. Default language can be English but if the user changes the language the new one should become the default language for that user.

Describe alternatives you've considered
There really isn't an alternatives for this.

Additional context
None.

Style grey 'Context' block

Is your feature request related to a problem? Please describe.
The grey 'Context' block which is showing information about Team, name, build, etc. (currently named ParentTable.jsx has outdated styles.

Describe the solution you'd like
Let's improve the styles according to UI pictures.

--
The result

  • Styled the Context block: changed font size and display properties
  • Added the word 'Context' inside the block because it appears in the UI pictures
  • Improved Status field's accessibility by enhancing color contrast

Simple single build results API

Is your feature request related to a problem? Please describe.
For various use cases a simple API for querying the results of test cases for single build would be useful for various tools leveraging the archived data.

Describe the solution you'd like
List similar to single suite results but for the entire build containing:

  • Test case identifying information
  • Status information
  • Start time
  • Execution times
  • Fingerprints

Describe alternatives you've considered
This information can be queried from history API but that contains some unnecessary data and has unnecessary complexity.

Additional context
One use case is a tool feeding result history to ChangeEngine.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.