Giter VIP home page Giter VIP logo

malxau / yori Goto Github PK

View Code? Open in Web Editor NEW
1.2K 14.0 24.0 7.89 MB

Yori is a CMD replacement shell that supports backquotes, job control, and improves tab completion, file matching, aliases, command history, and more.

Home Page: http://www.malsmith.net/yori/

License: MIT License

Makefile 1.17% C 97.84% Assembly 0.23% Pawn 0.26% HTML 0.49% C++ 0.01%
windows win32 cmd shell terminal command-line yori

yori's People

Contributors

jstarks avatar malxau avatar rksouthee avatar tenox7 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yori's Issues

Yori in WinGet

I know there are already requests for Scoop and Chocolatey, but consider making Yori available in WinGet. This seems like a good candidate for the fledgling package management system.

Building sources using CL.exe v12.00.8804 and v19.16.27034

Long story short... I was trying to build all sources in in order to achieve less "false positive" effect on VirusTotal, but that's not the point!

I have tried VS 6 , Windows 7 DDK, 2010 and 2019 tools ( actually 2015 , 2017 built in 2019 ) and was not being able to build from scratch without any warnings/errors/app crashes in VS 6 and all 2019 built-in stuff.

All of later is only for x86 platform

Input: BuildVS6.cmd

chcp 850
SET "LIB=%ProgramFiles(x86)%\Microsoft Visual Studio\VC98\Lib"
SET "PATH=%ProgramFiles(x86)%\Microsoft Visual Studio\VC98\Bin;%PATH%"
SET "INCLUDE=%ProgramFiles(x86)%\Microsoft Visual Studio\VC98\Include;%Include%"
CHDIR /D "C:\Sources\yori"
nmake

VS 6 output to mention:

*** Compiling pkglib
api.c
backup.c
create.c
install.c
reg.c
remote.c
util.c
Generating Code...
remote.c(1565) : warning C4701: local variable 'NewerVersionAvailable' may be used without having been initialized
remote.c(1565) : error C2220: warning treated as error - no object file generated
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.

I understand that this is just a warning, but maybe it will help to solve something, since this warning is in yoripkg and may be this leads into false positive... sorry if this is completely silly but I am not a senior developer, not even an intermediate, just know that sometimes very little things leads to very huge problems)

And this is not the point for me since I do not need to work with VS 6 at all... But the second one is really what bothers me

VS2019 story.
Input: build.cmd

chcp 850
CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86 -vcvars_ver=14.16
CHDIR /D "C:\Sources\yori"
nmake

Since I was able to build all source without any warnings/errors in VS 2019 Community with 2017 tools installed, since the goal was to build all stuff, that can work on XP, and 2017 compiling tools is able to do so, or maybe I am totally do not understand something) So I build source and it runs well untill I have entered dir command and dir.exe crashed on clean XP SP3 without any updates, and I decide to dig a little in) By the way oneyori.exe crashed in the same way on entering dir command ( and later tests I have done mostly with oneyori.exe )

Therefore I've built the Debug version of source and... nothing crashed at all ))) That was funny)) Finally I have figured out that makefile compiler option -O1sb1 is to be blamed) After that I have tried -O2 and builded exe crashed, after that I build with -Ox option and dir do not crashed but there was a strange behavior in output, I do not even know how to describe it... just take a look:
image

-Ox seems not to works properly and... I have noticed the same behaviour when trying to build with 2015 VS tools, without any -O swith modification, so by default with -O1sb1 VS2015 tools provides binaries with the same output problems as VS2017 with -Ox

I have firured out that only -Od switch on VS2017 tools provides stable binary at least for dir, I assume there maybe more not working stuff, but now the only thing I saw is dir.

And the correct output is^
image

So finally I have built DEBUG version with VS2017 Tools with -O1sb1, started oneyori.exe, attached debugger to it, entered dir command and here is what I've got:
image

Sorry for such a long message... just trying to decribe as completely as possible)

P.S. I think you will find that funny)
All that chcp 850 stuff in my batch script is only to switch codepage to 850 since cl.exe is locale-dependend and your makefile doesn't work by default on any non-english system with region-dependent locale)) That was confusing but nobody have been surprised) facepalm

unable to install

Any kind of attempt results in "Could not locate selected package files".

yori_error

Git Prompts

I have seen you mention in reddit that your yoriprompt shows git prompt, but there is no documentation on that.

FTYPE and ASSOC builtin commands

I had an occasion to set up a filetype associated with an executable in the prompt, and would normally use the FTYPE and ASSOC commands in CMD.

I was wondering if these internal commands should be added to yori. This has been the only occasion in which I've found this command necessary, but may be useful to other users, particularly those that have come from CMD.

Have auto-complete add backslash after folder name

Currently when autocompleting a directory Yori will auto-complete the folder name, but then to continue I have to manually type in a backslash to then complete further down the tree. It'd be nice if a second would add the backslash automatically.

Implement Ctrl+Z and/or Ctrl+D to exit shell

Would be nice to implement hot keys to exit the shell as POSIX shells do. Traditionally it is ^D, though Windows used ^Z+Enter instead.

However since WSL has become more common implementing both might be a good idea. Thanks.

timethis with no arguments

When running timethis without any arguments the program is crashing. After running the program the error level is 3221225477, printing that using err gives "The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s".
I would have expected the output to be "timethis: missing argument".

More information:

Desktop>ver
YoriLib version: 01.30
Yori shell version: 01.30
Build date: Jul 18 2020
Desktop>timethis
Desktop>echo %errorlevel%
3221225477
Desktop>err 3221225477
The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.
Desktop>

Quickly looking at the source for timethis.c I think this is an issue with StartArg since you check for missing argument when StartArg is zero but it doesn't look like StartArg can be 0.

Add Nested Aliases

Nested Aliases are a feature I would like to have in Yori. I am using this feature in TCC/LE and I'm not sure if this can be done in Yori. TCC/LE is discontinued so I started looking for alternatives with aliases. My goals is to use an alias within another alias.

Example:
yd=youtube-dl
ydf=yd --format

From the Take Command manual:

alias wp = e:\winword\winword.exe

alias w = pushd c:\wp & wp & popd

The second alias above could have included the full path and name of WINWORD.EXE instead of calling the WP alias. However, writing two aliases makes the second one easier to read and understand, and makes the first alias available for independent use. If you rename the WINWORD.EXE program or move it to a new directory, only the first alias needs to be changed.

The aliases below report "unrecognized command"
ydf="yd --format" $1$
ydf ="yd --format $1$"

c:>ydf 22 https://youtube.com/watch?v=ObgqvKJR1r8
Unrecognized command: yd --format 22

Simple batch files don't work

Create a batch file containing

cd c:\home\development

Run this batch file in cmd.exe and it will navigate to the specified path.
Run this batch file in Yori and it just echos the command.

Ctrl-left mutates the command line

The Ctrl-Left functionality to move the cursor between words also expands environment variables and trims spaces. However, it doesn't actually re-render the command line immediately, so the mutations only show up after a subsequent editing command.

This can lead to some confusing and undesirable behavior, as seen in this video, where I use Ctrl-Left to jump past an environment variable and then press Del to delete the first character (which should be %):

yori

Completion candidate descriptions

This is a follow-up ticket to #41.

Out of the many ways that shells support TAB completion, perhaps fish makes it easiest for users to provide custom completion scripts (with clink's lua a close second). Fish also has the very nice feature that it can display descriptions of options next to the completion candidates. This makes for a very nice user experience.

Would it be possible to provide a similar feature (displaying descriptions next to the completion candidates) in yori?

Ctrl + Arrow getting ignore under Windows Terminal

Windows Terminal has support for Ctrl+Arrow movement in the command line, which yori also has. They seem not to be working well together.

Is there a way to disable it in yori that I did not find?

I have reproed this with yori 1.20 and 1.21 and multiple versions of Windows Terminal.

Thanks for the great work. I really enjoy yori.

Cannot run programs from PATH when full path has spaces and quoted arguments are passed

For example, say there is a file C:\Program Files\Foo\bin\foo.cmd (doesn't matter what's in it). My PATH contains the directory C:\Program Files\Foo\bin. Now, if I just invoke foo, then it works as expected. Similarly, if I invoke, say, foo --help then that works as well. However, if I try to invoke foo "--help" then it fails with

'C:\Program' is not recognized as an internal or external command, operable program or batch file.

It looks like adding quoted arguments makes Yori unable to run programs (or at least CMD scripts) that have spaces in their full path. This happens with any path that has spaces, not just C:\Program Files.

Of course, all works as expected with vanilla cmd.exe.

Support clink-like lua completion scripts

Clink offers the ability to customize its shell completion with lua scripts. Some of clink's own functionality, like built-in completions, are also implemented in lua. This integration is very powerful; it makes it possible to customize the built-in completion as well as add custom completion logic.

In addition to the abilities of the lua programming language, Clink offers a parsing API that greatly simplifies the development of custom completion scripts.

This is related to our discussion in #41: supporting lua and Clink's argument parser API is one way to address the concern about the complexity of completion scripts for non-trivial commands like git.

Another benefit I can see is that by supporting this API, existing lua completion scripts can be used as is in yori, which may make the idea of migrating to yori much more attractive for clink users.
Published collections of clink completion scripts like https://github.com/vladimir-kotikov/clink-completions would instantly add to yori's power and hopefully foster community enthusiasm and engagement, since the clink project itself appears to be abandoned.

TBD:

  • The clink parser API does not have support for descriptions, so it may need to be extended to implement feature requests like #42
  • Clink functionality can be accessed in lua completion scripts via the clink variable. I imagine that you would want to expose a yori variable instead (but expose clink as an alias for compatibility with clink scripts)

Process exits and yori freezes when using with Windows Terminal

Hi,

So I followed the instructions by Scott Hanselman to install Yori and use it with Windows Terminal.

For the most part, it works great, but every now and then, when I hit Ctrl-C to kill a process, yori also freezes up. For example, simply hitting Ctrl-C while pinging something:
image

I don't have this problem with Yori's own terminal, just when I use Windows Terminal. Maybe this is not a Yori issue, but rather a Windows Terminal, but I don't experience it with any of the other shells that I also use in Windows Terminal, e.g. PowerShell or msys2.

github binary release

Hi, Malcolm

I remember an issue opened a few weeks ago about this but I can't find it. You said the binaries are available at your site but there area couple of problems:

  • the site does not use https which allows MITM attacks
  • there is no hash or something similar to check the binaries against
  • you can't install it using the online installer on a system without an internet connection

It would be very helpful if you added the binary releases here too. Not the online installer (because it would have the same problem) but maybe:

  • the installer using the cab files packaged with it
  • or simply the cab files themselves

Thanks a lot for understanding!

Redirection is broken

C:\Users\xenu\Documents>ver
YoriLib version: 01.00
Yori shell version: 01.00
Build date: Apr 30 2019
C:\Users\xenu\Documents>osver
▄▄ Windows version: 10.0.18362 (unknown), AMD64
C:\Users\xenu\Documents>echo a > b.txt
CreateProcess failed (3): The system cannot find the path specified.

It doesn't matter what command I try to redirect, it's always failing with the above error message. Output filename and directory also seem to be irrelevant.

Uninstall

Hi there,
you do not provide an UNINSTALL.
Please describe what to do to get Yori from my machine..

GNU Readline-style TAB completion

Would it be possible for Yori to use GNU Readline-style TAB completion, where suggestions are shown as a list below the prompt, instead of immediately being inserted at the cursor position? Clink also does this.

Also, when a directory name is inserted during auto completion, the trailing slash should also be appended at the end. This makes it easier to navigate into deep directory structures, as you don't have to type / or \ after each completed name.

Allow the shell to recognize Ctrl+[ as Escape

From using vim rather than pressing the Escape key I use the Ctrl+[ combination instead. Since the combination isn't being used for anything in the Yori shell, I thought it would be a nice addition.

On an unrelated note, I'm not sure if it's better that I open an issue or just send a pull request for features, do you have any preferences?

Check 4NT / TCC docs for ideas

Nice work, definitely a need for a shell between cmd and powershell in complexity. Just by implementing Ctrl-L you've given me a reason to use and promote it!

Many years ago before moving to Unix I used the 4NT shell. It was ten times better than cmd and still is. It's a great example of how to improve on cmd and keep it compatible shell. I lost track of it but I bet the docs are somewhere.

Fish is another great user-friendly shell.

Feel free to close as this is just a comment post.

Console title not being restored when process terminates

According to the documentation for SetConsoleTitle, when the process terminates the original title is restored. When running yori however, the title is not being restored.

C:\temp>ver
YoriLib version: 01.30
Yori shell version: 01.30
Build date: Jul 18 2020
C:\temp>title -g
Yori MSVC
C:\temp>type main.c
#include <Windows.h>

int main()
{
        SetConsoleTitle("new title");
        Sleep(1000);
}
C:\temp>cl /nologo main.c
main.c
C:\temp>main.exe
C:\temp>title -g
new title
C:\temp>

"Ctrl Click Select" doesn't work under Windows Terminal

I've jumped on the Yori train and enjoy it :)
context and version:

  • I use it from within Windows Terminal (latest 0.10.781 with mouse support).
  • yori 1.21

issue:
What I cannot get to work is "ctrl click select", which works fine when yori is started from a simple CMD terminal.

solution approaches:

  • I've set YORIQUICKEDIT=1 which don't have an effect.
  • As well I've checked issue #19 and updated ypm -u (which fixed the #19 issue, but not mine)

request:

  • does one have a solution for this, or is this another problem with WinTerm compatiibility?

Yori portablity

Hello!

This is such a fantastic work I have been spending years to find! Thank you so much!!!
I have just found it and noticed one thing that may affect portability and independece of each Yori distributive.

By default Yori at startup executes user scripts by this code in sh\main.c
YoriLibConstantString(&RelativeYoriInitName, _T("~\\YoriInit.d\\*")); YoriLibForEachFile(&RelativeYoriInitName, YORILIB_FILEENUM_RETURN_FILES, 0, YoriShExecuteYoriInit, NULL, NULL); YoriLibConstantString(&RelativeYoriInitName, _T("~\\YoriInit*")); YoriLibForEachFile(&RelativeYoriInitName, YORILIB_FILEENUM_RETURN_FILES, 0, YoriShExecuteYoriInit, NULL, NULL);

So in situation when I for example just want to run independent copy of Yori which would only do what I want and nothing more Yori will launch current User Scripts at startup, which can modify environment or maybe be compromised by any malware.

Just want to ask, is there a way to disable this behavior maybe by some command line options and if it can not be disabled I would prefer to remove those lines from original source, since this behavior can be easily achived with commands to execute "~\YoriInit" in files which is in "~AppDir\YoriInit"

dir showing everything

is there a way to have dir not show all the hidden and system stuff by default? like how cmd dir works.

Backspacing after newline misbehaving

I am using Windows Terminal Version 0.8.10261.0

When a new line is required to wrap a command, if I backspace such that the cursor should return to the original (first) line, it works the first time, but if I repeat this such that the cursor need to go to the next line again it adds an additional newline and begins printing two lines below the beginning of the command. The behavior is little unpredictable as it seems to change based on the width of the window. I probably explained that very poorly, so here is a gif of the behavior:

yoribug

Yedit: EOL treatment + Mouse click bug

Hi,

Many thanks for making the effort, especially as you appear to be a vim user!
As a non-compiling amateur the self contained windows binary is very welcome
(I note it's not in the nightly CAB build).

Feels great, very clean interface and only 78ms to startup!!
Not having to think about how to use the editor,
really concentrates the mind regarding adding features.

It was a long time ago that edit.com was my workhorse and
I can't run the original so it's difficult to remember specific behaviors.

As a 100% DOS/Windows user I do have deeply ingrained muscle memory
for cursor movements, cut copy paste undo, find replace goto, new open save(as) reload quit.

Perhaps yedit could mimicking edit.com as described on the web:

What is the "most valued feature" missing?

  • Delete at (or beyond) EOL joins lines. I Can't remove line one if cursor is on line one!
  • Left at col 1 moves to end of line above
  • Right at EOL moves to col 1 line below
  • Cursor not to stray beyond EOL
  • Cut/del line to include EOL
  • Cursor back to home after cut/del line
  • Ctrl/Ctrl+Shift with left/right arrows (move/select word),
  • Select drive in open dialog

What is in the "first tier of desires"

  • Infinite Undo
  • Auto-indenting and smart home
  • Ctrl+Shift home/end (select to BOF/EOF)
  • Ctrl+A Select all
  • Shift+F3 find previous
  • Wrap find at BOF/EOF to start again
  • Ctrl+F6 launch new editor - hopefully with a useful current directory
  • Ctrl+F5 Reload file
  • Ctrl+Shift+F5 Execute file using default association with directory set to the file location
  • Wrapping lines

Bugs?

  • After mouse click to change location - then del or bksp fails. Even if I insert text I can't use del/bksp. I have to left, right, home, or end to restore del/bksp actions (I use Win 10 legacy console)

Enhancements (Autohotkey)

#IfWinActive Administrator: yedit.exe
{
^':: Send ''{Left}
^2:: Send ""{Left}
^9:: Send (){Left}
^0:: Send (){Left}
^[:: Send []{Left}
^]:: Send []{Left}
^b:: Send {Home}
^+b:: SendInput +{Home}
^e:: Send {End}
^+e:: SendInput +{End}
^k:: SendInput +{End}{Del}
+^k:: SendInput +{Home}{BS}
^y:: Send {End}+{Home}{Del}{BS}{Down}{Home}
^+s:: Send !fa
^w:: Send !fx
^h:: Send !sc
^Up:: Send {F3}
^Down:: Send {F3}
WheelUp:: Send {Home}{Up}{Up}
WheelDown:: Send {Home}{Down}{Down}
^RButton:: SendInput {RAW}%ClipBoard% ; Paste
}

Settings File

Please add a settings file for auto-loading various settings and aliases.

Add Scoop and AppGet

Please add a manifest to Scoop and AppGet.
Honestly, how can I pass command line arguments to the installer ? Its not using Inno or something familiar.

Respect locale settings

First off, thanks for taking the time to write Yori! Much appreciated :-)

I'm swedish and I usually run my operating system in English but with the Swedish locale. If I do a dir listing in classic cmd it looks as this:

 Volume in drive C is OS
 Volume Serial Number is F614-9BE2

 Directory of C:\

2019-11-05  12:52    <DIR>          dell
2019-11-05  10:37    <DIR>          Intel
2019-11-17  17:32    <DIR>          Microsoft
2019-11-11  13:36    <DIR>          NHibernate Mapping File Generator
2019-03-19  05:52    <DIR>          PerfLogs
2020-01-13  09:57    <DIR>          Program Files
2019-12-10  09:06    <DIR>          Program Files (x86)
2020-01-07  08:48    <DIR>          Temp
2019-12-02  08:40    <DIR>          Users
2019-12-10  09:15    <DIR>          Util
2020-01-08  14:48    <DIR>          Windows
2019-11-11  13:56    <DIR>          XactTestEnvironment
              12 Dir(s)  338 761 736 192 bytes free

if I do the same dir listing using Yori! I get the following output:


 Directory of C:\

2019/12/02  08:40  <DIR>             $Recycle.Bin
2019/11/05  12:52  <DIR>             dell
2019/05/24  18:51  <JUNCTION>        Documents and Settings [C:\Users]
2019/11/05  10:37  <DIR>             Intel
2019/11/05  19:31  <DIR>             IntelOptaneData
2019/11/17  17:32  <DIR>             Microsoft
2019/11/11  13:36  <DIR>             NHibernate Mapping File Generator
2020/01/13  08:30  <DIR>             OneDriveTemp
2019/03/19  05:52  <DIR>             PerfLogs
2020/01/13  09:57  <DIR>             Program Files
2019/12/10  09:06  <DIR>             Program Files (x86)
2020/01/13  09:25  <DIR>             ProgramData
2019/05/24  19:46  <DIR>             Recovery
2020/01/12  14:28  <DIR>             System Volume Information
2020/01/07  08:48  <DIR>             Temp
2019/12/02  08:40  <DIR>             Users
2019/12/10  09:15  <DIR>             Util
2020/01/08  14:48  <DIR>             Windows
2019/11/11  13:56  <DIR>             XactTestEnvironment
          18 Dir(s)     338,761,232,384 bytes free

As shown the date formatting is not using the Swedish locale format.

Not a big issue but it would be very nice if Yori used the same format as the rest of Windows is using for dates, times and numbers.

add support for readline shortcuts

Most unix shell supports readline shortcust to navigate around. There are a lot more then the following table. But these are the ones that I'm very interested in.

Key bindings Description
Ctrl-l Clear the screen.
Ctrl-a Move to the start of the current line.
Ctrl-e Move to the end of the line.

Ctrl+Arrow on the command line doesn't work under Win Terminal

Hi, am a heavy user of skipping words on the command line via the Ctrl+left and Ctrl+right hotkeys.

Bash/fish and cmd.exe and GUI textareas support it, although they differ slightly on the right arrow. The Unix shells go to the end of the word (rather than beginning of next) when moving to the right. Probably to be able to edit the end of the word more quickly. I don't have a strong preference here.

Hopefully Yori could support it as well.

control-c causes yori prompt to come back while background interactive session still running

My scenario is using the aws cli and session manager to login to a remote host.
I use: >aws ssm start-session --target i-
Everything works fine until i hit control-c - then the yori prompt comes back interleaved with my remote session even though my aws session is still active:

ssm-user@ip-10-0-3-189:/var/snap/amazon-ssm-agent/1565$
C:\Users\matt\OneDrive\Documents\dev>
ssm-user@ip-10-0-3-189:/var/snap/amazon-ssm-agent/1565$
C:\Users\matt\OneDrive\Documents\dev>

Situation is unusable until i go into a second session and kill my first one with aws ssm terminate-session. Then i can re-connect fine. Its like yori took control of my control-c and thought i wanted to terminate the aws ssm process but it doesnt realise it is an interactive session?

Using ssh is fine - control-c works as expected.
aws ssm start-session works as expected in a cmd.exe session.

thanks!

Completion script syntax

I just found yori and it looks wonderful! Congrats on a beautiful product!

I am interested in generating completion scripts for picocli-based command line applications. (Picocli is a library for easily building CLI apps in languages that run on the JVM.) The picocli library currently supports completion for bash and zsh, and I'm looking at providing support for fish, native zsh, and clink. Now that I found yori I am thinking to add yori to that list and point Windows users at your project as well as clink.

I have looked at the completion scripts in the project and the documentation on completion scripts, but I have not found a description of the completion script syntax. I may be able to figure it out from the example scripts but it would help a lot if there was some docs, even just some notes would be useful. Perhaps this already exists and I just haven't found it yet?

Discard duplicate history entries

Somewhat related to #38.

I find it often annoying that if I execute the same command multiple times (doesn't matter if I enter it manually every time, or select it from history using UP), Yori keeps all of them in history, so that if I suddenly want to execute some previous (different) command, I have to press UP a dozen times.

I think the easiest way to alleviate this would be to simply not add the executed command to history, if it is equal to the last command in history.

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.