Coder Social home page Coder Social logo

keshavbhatt / colorpicker Goto Github PK

View Code? Open in Web Editor NEW
75.0 7.0 10.0 1.45 MB

Powerful screen ColorPicker/Chooser application for Linux Desktop

License: MIT License

QMake 4.65% C++ 91.58% Roff 3.78%
color-picker webdevelopment artists qt5 qcolordialog linux-app screen-picker colorpicker linux-desktop qcolor colorpicker-application color-palette colour-codes

colorpicker's Introduction

ColorPicker App

ColorPicker is a powerful screen color picker based on Qt's QColorDialog Class.

A colour picker and colour editor for web designers and digital artists, With Color Picker, identifying the colours, saving and editing is a quick and simple job.

Color Picker features include:

  • Five formats of colour codes: HTML, HexRGBA, RGB, HSB/HSV, CMYK and their variations. Conversion of HTML, HEX and RGB colour codes into the corresponding colours.

  • Colour picker for easy handling and greater precision.

  • Colour list for saving and reusing the picked colour samples for each picked colour.

  • Color preview widget

  • Progressive color pattern generator

  • Support Switching three themes - System theme, Flat Light theme and Dark theme.

  • More features soon..

Requirements

  • Qt5 or above

Build instructions

For Linux, Windows and Mac. In all cases, you need a copy of the code:

git clone https://github.com/keshavbhatt/ColorPicker

CLI method

These instructions perform an out-of-tree build, which is easier to manage.

mkdir build
cd build
qmake ../src
make

Assuming everything runs correctly, you can create an installation directory like so:

make INSTALL_ROOT=/path/to/installation install

This is useful when preparing to package ColorPicker for distribution. If you just want to install it locally, leave out the INSTALL_ROOT parameter.

GUI Method

  • Open the .pro file in Qt creator
  • Configure with one of your preferred toolkit version (Should be Qt5 or above)
  • Once project is configured, Press Build or Run button to perform respective action

Install and project status

License: MIT

Stable and nightly Build on any snapd enabled Linux Distribution can be installed using:

color-picker color-picker

Get it from the Snap Store

snap install color-picker

AUR

You can install it from the AUR:

https://aur.archlinux.org/packages/colorpicker-keshavbhatt/

Screenshot (could be old)

ColorPicker Application for Linux Desktop ColorPicker Application for Linux Settings dialog ColorPicker Application for Linux Shade dialog

colorpicker's People

Contributors

djmattyg007 avatar f9kill avatar keshavbhatt avatar sonulohani avatar sudipm-mukherjee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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

colorpicker's Issues

ColorPicker segfaults on all Ubuntu releases

On all Ubuntu releases ColorPicker ends in a segfault with a coredump.

This is the full trace from the coredump:

(gdb) bt full
#0  0x00007f91f043390c in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator-> (this=<optimized out>)
    at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:118
No locals.
#1  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (ptr=...) at global/qglobal.h:1149
No locals.
#2  QObject::d_func (this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:132
No locals.
#3  QObjectPrivate::get (o=<optimized out>) at kernel/qobject_p.h:355
No locals.
#4  doActivate<false> (sender=0x0, signal_index=9, argv=0x7ffe147eccf0) at kernel/qobject.cpp:3807
        sp = <optimized out>
        signal_spy_set = <optimized out>
        empty_argv = {0x562c04ee4790}
        senderDeleted = <optimized out>
#5  0x00007f91f042ca37 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f91f0d6f8e0 <QGuiApplication::staticMetaObject>, local_signal_index=local_signal_index@entry=1, 
    argv=argv@entry=0x7ffe147eccf0) at kernel/qobject.cpp:3985
        signal_index = <optimized out>
#6  0x00007f91f07caf04 in QGuiApplication::screenAdded (this=<optimized out>, _t1=<optimized out>, _t1@entry=0x562c04eefb30) at .moc/moc_qguiapplication.cpp:389
        _a = {0x0, 0x7ffe147ecce8}
#7  0x00007f91f07adc6c in QWindowSystemInterface::handleScreenAdded (ps=ps@entry=0x562c04ee43d0, isPrimary=<optimized out>) at kernel/qwindowsysteminterface.cpp:826
        screen = 0x562c04eefb30
#8  0x00007f91eced9830 in QXcbConnection::initializeScreens (this=this@entry=0x562c04ec8b50) at qxcbconnection_screens.cpp:413
        screen = 0x562c04ee43d0
        __for_range = @0x562c04ec8e40: {<QListSpecialMethods<QXcbScreen*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, 
                alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x562c04ee4730}, d = 0x562c04ee4730}}
        __for_begin = <optimized out>
        __for_end = <optimized out>
        it = {data = 0x562c04ed2874, rem = 0, index = 8160}
        xcbScreenNumber = <optimized out>
        primaryScreen = <optimized out>
#9  0x00007f91eceaed09 in QXcbConnection::QXcbConnection (this=0x562c04ec8b50, nativeInterface=<optimized out>, canGrabServer=<optimized out>, defaultVisualId=<optimized out>, 
    displayName=<optimized out>) at qxcbconnection.cpp:103
        focusInDelay = <optimized out>
        focusInDelay = <optimized out>
#10 0x00007f91eceb2642 in QXcbIntegration::QXcbIntegration (this=this@entry=0x562c04ec8a90, parameters=..., argc=@0x7ffe147ed3bc: 1, argv=argv@entry=0x7ffe147ed6e8)
    at ../../../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:138
        displayName = <optimized out>
        noGrabArg = <optimized out>
        doGrabArg = <optimized out>
        underDebugger = <optimized out>
        conn = 0xcbeaf66c1d1ba200
        numParameters = 0
        canNotGrabEnv = false
        displayName = <optimized out>
        noGrabArg = <optimized out>
        doGrabArg = <optimized out>
        underDebugger = <optimized out>
        numParameters = <optimized out>
        conn = <optimized out>
        j = <optimized out>
        i = <optimized out>
        arg = <optimized out>
        ok = <optimized out>
        i = <optimized out>
        display = <optimized out>
        qt_category_enabled = <optimized out>
        qt_category_enabled = <optimized out>
#11 0x00007f91f1449519 in QXcbIntegrationPlugin::create (this=<optimized out>, system=..., parameters=..., argc=@0x7ffe147ed3bc: 1, argv=0x7ffe147ed6e8) at qxcbmain.cpp:56
        xcbIntegration = <optimized out>
#12 0x00007f91f07cf461 in init_platform (argv=<optimized out>, argc=@0x7ffe147ed3bc: 1, platformThemeName=..., platformPluginPath=..., pluginNamesWithArguments=...)
    at kernel/qguiapplication.cpp:1223
        arguments = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, 
                  alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x562c04eb8a70}, d = 0x562c04eb8a70}}, <No data fields>}
        name = {d = 0x562c04eb4050}
        argumentsKey = {d = 0x562c04eb89e0}
        pluginArgument = @0x562c04eb4090: {d = 0x562c04eb4050}
        __for_range = @0x7ffe147ed0d0: {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {
                      _q_value = std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x562c04eb4080}, d = 0x562c04eb4080}}, <No data fields>}
        __for_begin = <optimized out>
        __for_end = <optimized out>
        platformArguments = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {
                      _q_value = std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x562c04e4a9d0 <QListData::shared_null>}, 
              d = 0x562c04e4a9d0 <QListData::shared_null>}}, <No data fields>}
        platformIntegration = <optimized out>
        plugins = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, 
                  alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x562c04eb4080}, d = 0x562c04eb4080}}, <No data fields>}
        availablePlugins = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {
                      _q_value = std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x562c04eb81d0}, d = 0x562c04eb81d0}}, <No data fields>}
        themeNames = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, 
                  alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x562c04eb89e0}, d = 0x562c04eb89e0}}, <No data fields>}
        plugins = <optimized out>
        platformArguments = <optimized out>
        availablePlugins = <optimized out>
        themeNames = <optimized out>
        platformIntegration = <optimized out>
        pluginArgument = <optimized out>
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>
        arguments = <optimized out>
        name = <optimized out>
        argumentsKey = <optimized out>
        qt_category_enabled = <optimized out>
        qt_category_enabled = <optimized out>
        fatalMessage = <optimized out>
        themeName = <optimized out>
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>
        themeName = <optimized out>
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>
        nativeInterface = <optimized out>
        argument = <optimized out>
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>
        equalsPos = <optimized out>
        name = <optimized out>
        value = <optimized out>
#13 QGuiApplicationPrivate::createPlatformIntegration (this=0x562c04eb3ae0) at kernel/qguiapplication.cpp:1477
        platformPluginPath = {d = 0x562c04e4a9a0 <QArrayData::shared_null>}
        platformName = {d = 0x562c04eb4020}
        sessionType = {d = 0x7f91f04f8800}
        platformNameEnv = {d = 0x7f91f04f8800}
        platformThemeName = {d = 0x562c04e4a9a0 <QArrayData::shared_null>}
        icon = {d = 0x562c04e4a9a0 <QArrayData::shared_null>}
        j = <optimized out>
#14 0x00007f91f07d0ac0 in QGuiApplicationPrivate::createEventDispatcher (this=<optimized out>) at kernel/qguiapplication.cpp:1494
No locals.
#15 0x00007f91f0400435 in QCoreApplicationPrivate::init (this=this@entry=0x562c04eb3ae0) at kernel/qcoreapplication.cpp:835
        q = <optimized out>
        appPaths = 0x0
        manualPaths = 0x0
        thisThreadData = 0x562c04eb3c50
#16 0x00007f91f07d3a3f in QGuiApplicationPrivate::init (this=this@entry=0x562c04eb3ae0) at kernel/qguiapplication.cpp:1523
        loadTestability = <optimized out>
        pluginList = {<QListSpecialMethods<QByteArray>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, alloc = 0, 
                begin = 0, end = 0, array = {0x0}}, d = 0x562c04e4a9a0 <QArrayData::shared_null>}, d = 0x562c04e4a9a0 <QArrayData::shared_null>}}
        session_id = {d = 0x562c04eb3970}
        session_key = {d = 0x562c04eb3e70}
        s = {d = 0x562c04eb3ba8}
        j = <optimized out>
        envPlugins = {d = 0x7ffe147ed2e0}
        q = <optimized out>
#17 0x00007f91f0efb565 in QApplicationPrivate::init (this=0x562c04eb3ae0) at kernel/qapplication.cpp:513
No locals.
#18 0x00007f91f0efb65f in QApplication::QApplication (this=this@entry=0x7ffe147ed430, argc=@0x7ffe147ed3bc: 1, argc@entry=@0x7ffe147ed3bc: <optimized out>, argv=<optimized out>, 
    _internal=_internal@entry=331522) at kernel/qapplication.cpp:501
        d = <optimized out>
        d = <optimized out>
#19 0x0000562c04dd8852 in main (argc=<optimized out>, argv=<optimized out>) at /build/color-picker-Fms7Dj/color-picker-1.0.3/src/main.cpp:6
        a = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7f91f1415e68 <vtable for QApplication+16>, static staticMetaObject = {d = {superdata = {
                      direct = 0x0}, stringdata = 0x7f91f05d3b00 <qt_meta_stringdata_QObject>, data = 0x7f91f05d39e0 <qt_meta_data_QObject>, 
                    static_metacall = 0x7f91f0432010 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {
                  d = 0x562c04eb3ae0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f91f05d6aa0 <qt_meta_stringdata_Qt>, 
                    data = 0x7f91f05d3c20 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {
                    direct = 0x7f91f0684180 <QObject::staticMetaObject>}, stringdata = 0x7f91f05cfec0 <qt_meta_stringdata_QCoreApplication>, 
                  data = 0x7f91f05cfda0 <qt_meta_data_QCoreApplication>, 
                  static_metacall = 0x7f91f03fae30 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, 
              static self = 0x0}, static staticMetaObject = {d = {superdata = {direct = 0x7f91f068ca60 <QCoreApplication::staticMetaObject>}, 
                stringdata = 0x7f91f0ca9dc0 <qt_meta_stringdata_QGuiApplication>, data = 0x7f91f0ca9b40 <qt_meta_data_QGuiApplication>, 
                static_metacall = 0x7f91f07d2250 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, 
          static staticMetaObject = {d = {superdata = {direct = 0x7f91f0d6f8e0 <QGuiApplication::staticMetaObject>}, stringdata = 0x7f91f12dee20 <qt_meta_stringdata_QApplication>, 
              data = 0x7f91f12deca0 <qt_meta_data_QApplication>, static_metacall = 0x7f91f0ef9a30 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
              relatedMetaObjects = 0x0, extradata = 0x0}}}
        w = {<QMainWindow> = {<QWidget> = {<QObject> = {_vptr.QObject = 0x30, static staticMetaObject = {d = {superdata = {direct = 0x0}, 
                    stringdata = 0x7f91f05d3b00 <qt_meta_stringdata_QObject>, data = 0x7f91f05d39e0 <qt_meta_data_QObject>, 
                    static_metacall = 0x7f91f0432010 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {
                  d = 0x562c04eb3970}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f91f05d6aa0 <qt_meta_stringdata_Qt>, 
                    data = 0x7f91f05d3c20 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, <QPaintDevice> = {_vptr.QPaintDevice = 0x80, 
                painters = 81, reserved = 0x50}, static staticMetaObject = {d = {superdata = {direct = 0x7f91f0684180 <QObject::staticMetaObject>}, 
                  stringdata = 0x7f91f12e29c0 <qt_meta_stringdata_QWidget>, data = 0x7f91f12e22e0 <qt_meta_data_QWidget>, 
                  static_metacall = 0x7f91f0f396f0 <QWidget::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, 
              data = 0x562c04eb3960}, static staticMetaObject = {d = {superdata = {direct = 0x7f91f1417280 <QWidget::staticMetaObject>}, 
                stringdata = 0x7f91f12fce00 <qt_meta_stringdata_QMainWindow>, data = 0x7f91f12fcc00 <qt_meta_data_QMainWindow>, 
                static_metacall = 0x7f91f1059c10 <QMainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
                relatedMetaObjects = 0x7f91f1420ff0 <qt_meta_extradata_QMainWindow>, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {
                direct = 0x7f91f1420fc0 <QMainWindow::staticMetaObject>}, stringdata = 0x562c04e45b80 <qt_meta_stringdata_MainWindow>, 
              data = 0x562c04e457e0 <qt_meta_data_MainWindow>, static_metacall = 0x562c04de2ff0 <MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
              relatedMetaObjects = 0x0, extradata = 0x0}}, ui = 0x90, _ui_pattern = {<Ui_pattern_widget> = {verticalLayout = 0x7f91efd2cd26 <__GI___libc_realloc+598>, 
              horizontalLayout = 0x2, label = 0x7f91efe82ac0 <main_arena>, factor_spin = 0x0, 
              scrollArea = 0x7f91f06911d8 <(anonymous namespace)::Q_QGS_resourceGlobalData::innerFunction()::holder+8>, scrollAreaWidgetContents_2 = 0x7ffe147ed580, 
              verticalLayout_2 = 0x6, gridLayout = 0x562c04eb1030}, <No data fields>}, 
          colorDialog = 0x7f91f06911d8 <(anonymous namespace)::Q_QGS_resourceGlobalData::innerFunction()::holder+8>, setting_path = {d = 0x7ffe147ed5a0}, settings = {<QObject> = {
              _vptr.QObject = 0xe, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f91f05d3b00 <qt_meta_stringdata_QObject>, 
                  data = 0x7f91f05d39e0 <qt_meta_data_QObject>, static_metacall = 0x7f91f0432010 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
                  relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x562c04eb3970}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, 
                  stringdata = 0x7f91f05d6aa0 <qt_meta_stringdata_Qt>, data = 0x7f91f05d3c20 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, 
            static staticMetaObject = {d = {superdata = {direct = 0x7f91f0684180 <QObject::staticMetaObject>}, stringdata = 0x7f91f05c9960 <qt_meta_stringdata_QSettings>, 
                data = 0x7f91f05c9820 <qt_meta_data_QSettings>, static_metacall = 0x7f91f036b4d0 <QSettings::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
                relatedMetaObjects = 0x0, extradata = 0x0}}}, settingsWidget = 0x7, 
          pattern_widget = 0x7f91f06911d0 <(anonymous namespace)::Q_QGS_resourceGlobalData::innerFunction()::holder>, _patter_factor = -266079365, screenPicker = 0x1, 
          cDialog = 0xcbeaf66c1d1ba200}

The issue is not seen in Debian as LTO is disabled in Debian.

cant't click and select

i can't click and select color.
whenever i hover cursor to color this area, i can't click and select color.

image

Missing Qt libraries

andrei@X570-GAMING-X:~$ color-picker 
/snap/color-picker/7/bin/desktop-launch: line 41: /home/andrei/.config/user-dirs.dirs: Permission denied
/snap/color-picker/7/bin/desktop-launch: line 284: [: /home/andrei/../../../Рабочий: binary operator expected
/snap/color-picker/7/bin/desktop-launch: line 520: /snap/color-picker/7/qt551/flavor-select: No such file or directory
color-picker: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory
andrei@X570-GAMING-X:~$ 
color-picker                     1.0                         7       latest/stable    keshavnrj           -

Package for Debian.

Hi,

I liked your program and I am interested in packaging it for Debian, it would be interesting to version release 1.0, 2.0 ..., so that the Debian watch system can follow the releases of new versions.

thanks

RGBA?

I love this color picker but I'm a bit confuse. What's ARGB? is it the same than RGBA which includes transparency? I was looking for a funtional color picker with transparency but... I thought this one was, but I'm not sure. Because when I play with the Alpha Channel after choosing my color and paste it into the editor,the editor interpreted it as an completely different color, it looks like the first two Hex decimals should go at the end instead of the beginning. But then, maybe I'm the one who is wrong and ARGB is not the same than RGBA

Create new release

It would be great if a new release could be created that incorporates the recent updates. It's the last thing stopping me from creating an AUR package.

Pressing Escape key on a newly opened window puts the UI in this irrecoverable state

Hi, beautiful job with this tool. I am loving it. Thank you for your work.

I am encountering a problem while using it though.

how to reproduce
Press Escape key when the window opens after launch.

A major part of the UI in this has just disappeared from LHS. I could not go back to the original state from this.

Screenshot from 2020-11-21 05-33-32

It originally started up like this:
Screenshot from 2020-11-21 05-37-44

Basic system info:

Screenshot from 2020-11-21 05-42-15

Will provide more details if needed. Please drop a note in reply. Thank you!

Add instructions to readme on how to compile manually

I don't use snap, and would prefer to just compile this software manually. I would appreciate it if you could add some instructions on how to compile it, and the software's dependencies, so that I can create an AUR package.

Clarify wording on "temporary" swatches

Englsh isn't my native language, but I'm pretty sure "temporary" and "permanent" are opposites... So, I am confused by the instruction for temporary swatches, where it says:

Click "Add to Temporary Swatch" to save color permanently

Perhaps you can consider changing it to something like this?

Click "Add to My Swatches" to save color permanently

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.