Giter VIP home page Giter VIP logo

massren's Introduction

Massren Build Status

Massren is a command line tool that can be used to rename multiple files using your own text editor. Multiple-rename tools are usually difficult to use from the command line since any regular expression needs to be escaped, and each tool uses its own syntax and flavor of regex. The advantage of massren is that you are using the text editor you use every day, and so can use all its features.

The tool works by creating a file that contains the filenames of the target directory, and opening this file in the text editor. You can then modify the filenames there directly. Once done, save the text file and the files will be renamed. Lines that are not changed will simply be ignored.

Massren usage animation

Features

  • Rename multiple files using your own text editor. It should work with any text editor, including vim, emacs, Sublime Text or notepad.

  • Undo - any rename operation can be undone.

  • Move files to sub-directories. See these instructions for more information.

  • Dry run mode - test the results of a rename operation without actually renaming any file.

  • Cross-platform - Windows, OSX and Linux are supported.

  • Safety checks - since this is a multiple rename tool, various checks are in place to ensure that nothing gets accidentally renamed. For example, the program will check that the files are not being changed by something else while the list of filenames is being edited. If the number of files before and after saving the file is different, the operation will also be cancelled.

Installation

The latest executables for each platform are available from the release page.

Mac OS

The easiest way is with Homebrew:

brew install massren

Alternatively, the Linux method described below should work.

If the installation fails, please follow the instructions below.

Linux

  • Install Go
  • Run go install github.com/laurent22/massren@latest

By default, the tool will be installed in $GOPATH/bin/massren. From there, you can either symlink it to /bin or add $GOPATH/bin to your PATH variable with export PATH=$PATH:$GOPATH/bin.

Note that it is compatible with Linuxbrew, so the same commands as for Mac OS would work too.

Windows

The executable can be downloaded from https://github.com/laurent22/massren/releases

Note: Windows releases are discontinued as of version 1.3, as I do not know if they are used by anyone. The program still works with Windows though, and can be built and installed using the "Linux" method above. If you have any interest in maintaining the Windows releases, please let me know.

Usage and examples

Usage:
  massren [OPTIONS]

Application Options:
  -n, --dry-run  Don't rename anything but show the operation that would have
                 been performed.
  -v, --verbose  Enable verbose output.
  -c, --config   Set or list configuration values. For more info, type:
                 massren --config --help
  -u, --undo     Undo a rename operation. Currently delete operations cannot be
                 undone (though files can be recovered from the trash in OSX
                 and Windows). eg. massren --undo [path]
  -V, --version  Displays version information.

Help Options:
  -h, --help     Show this help message

Examples:

  Process all the files in the current directory:
  % massren

  Process all the JPEGs in the specified directory:
  % massren /path/to/photos/*.jpg

  Undo the changes done by the previous operation:
  % massren --undo /path/to/photos/*.jpg

  Set VIM as the default text editor:
  % massren --config editor vim

  List config values:
  % massren --config

Configuration

Type massren --help --config (or massren -ch) to view the possible configuration values and defaults:

Config commands:

  Set a value:
  % massren --config <name> <value>

  List all the values:
  % massren --config

  Delete a value:
  % massren --config <name>

Possible key/values:

  editor:              The editor to use when editing the list of files.
                       Default: auto-detected.

  use_trash:           Whether files should be moved to the trash/recycle bin
                       after deletion. Possible values: 0 or 1. Default: 1.

  include_directories: Whether to include the directories in the file buffer.
                       Possible values: 0 or 1. Default: 1.

  include_header:      Whether to show the header in the file buffer. Possible
                       values: 0 or 1. Default: 1.

Examples:

  Set Sublime as the default text editor:
  % massren --config editor "subl -n -w"

  Don't move files to trash:
  % massren --config use_trash 0

TODO

  • Move files to trash in bulk instead of one by one.
  • Detect default text editor on Windows.
  • Disambiguate filenames when processing two or more folders that contain the same filenames.
  • Other various issues.

Building from source

  • Go 1.17+ is required

      go mod tidy
      go build
    

Test units

Massren functionalities are supported by a robust test suite that has nearly complete code coverage. To run the test units, type go test -v from the source code directory.

License

The MIT License (MIT)

Copyright (c) 2013-2016 Laurent Cozic

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

massren's People

Contributors

adammck avatar benmanns avatar chuttam avatar dufferzafar avatar hashhar avatar laurent22 avatar liamja avatar mattn avatar rafcon-dev avatar szybia avatar vitorgalvao avatar wellle 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  avatar  avatar  avatar  avatar  avatar

massren's Issues

Autodetect default windows text editor

The default editor for a given file extension is stored in a registry key:
HKEY_CLASSES_ROOT/.txt/ShellNew/ItemName
It was set to this on my system as a string value
@%SystemRoot%\system32\notepad.exe,-470

See this

Why use SQL for config

Hi,

why do you use SQL to store configurations. Wouldn't JSON or INI work as well?
Would also remove the cgo deps.

Segmentation fault

Mac Book Pro
OSX 10.7.5
zsh

$ curl -O https://raw.github.com/laurent22/massren/master/install/install.osx.sh
$ chmod 755 install.osx.sh
$ sudo ./install.osx.sh
Saving to: `massren.osx.tar.gz'
2014-02-18 17:29:45 (1.44 MB/s) - `massren.osx.tar.gz' saved [1149999/1149999]
x massren
$ massren --config editor subl
[1]    26970 segmentation fault  massren --config editor subl
$ massren
[1]    27013 segmentation fault  massren

`include_header` is not removing header

Iโ€™ve tried multiple variants like:

massren --config include_heder 0
massren --config include_heder=0
massren --config include_heder false

I get a message that te config has been changed and get a 0 exit code, but the header is still there when I run massren.

Feature request: ability to delete files with massren

For example, file names which are replaced with blank lines or some kind of flag ("DELETE_ME" etc) could be deleted rather than renamed. This would be useful for cleaning up messy directories, for example after extracting an archive in the wrong place. Could have a command line flag to turn this feature on.

Submit to Homebrew official repository

Last time I've tried to submit it to the official Homebrew repository they didn't accept Golang applications, however it seems they don't have this restriction anymore, so it could be worth submitting it again.

Review/fix file name punctuation (i.e. question mark ?) breaking output list order #Bug

Hi,

Hope you're well

Thanks for software

When I process the contents of this folder the following file gets output at the bottom of the file list:

It's Always Sunny in Philadelphia - s04e07 - Who Pooped the Bed? 2008-10-09 - DVDRIP - SDTV-480p24 - XVID AC3.avi

Screen shot:

screenshot 2018-11-11 at 18 47 57

screenshot 2018-11-11 at 18 48 05

The oddity appears to be due to the question mark in the file name

Can this be fixed?

If you're reading this and:

a) agree, then please up-vote and/or reply +1, or;
b) disagree, then I'd love to know why?

If you have any issues (e.g. questions/queries) happy to help

Hope to hear back

Keep up great work!

Yours faithfully

hardware: Apple, MacBook Pro (Retina, 15-inch, Mid 2014)
software - operating system: macOS, v10.14 (18A391)

Cannot lowercase names

Changing names to lowercase characters but keeping the same name does not work.

"/UPPERCASE NAME" cannot be renamed to "/uppercase name": destination already exists

Research recursive file naming #Help #Question

Hi all,

Hope you're well

Thanks for software

How would one go about renaming files recursively within a folder structure?

Since there's no features relating to this in the documentation I assume this isn't possible (yet) so I reached for (my limited) shell/bash knowledge:

find . -type d | xargs massren

Currently I only get an instance for the working directory but I expect a recursive instance per directory - can anyone make this useful?

Hope this is clear/useful and hope to hear back

Keep up great work!

Cheers

Order of filenames is not respect to explorer

Method 1: Type filenames directly via console

Method 2: Use send to to send filenames to massren (by throw a shortcut to C:\Users\{Username}\AppData\Roaming\Microsoft\Windows\SendTo)

Generated filename buffer from both methods above are different from the order in explorer, this cause problem for number renames

For example, I want to rename 1.txt, 2.txt...100.txt to tvr016.cfg, tvr017.cfg...tvr115.cfg

If the order remains the same, column edition+number pattern start from 016 is enough to do so

But this can't be done since the order of file names in massren buffer is 1.txt, 10.txt, 100.txt, 11.txt...99.txt which should be rename to tvr016.cfg, tvr025.cfg, tvr115.cfg, tvr026.cfg...tvr0114.cfg, this can't be done with one rename pattern

1

ENHANCEMENT As a user I want (the option) to ignore file extensions so I don't have to create regex

https://twitter.com/ldexterldesign/status/883099626747908096
NO REPLY NECESSARY

Hey,

Thanks for software - seriously cool project!

Hope you're well

ENHANCEMENT As a user I want (the option) to ignore file extensions so I don't have to create regex

To give some context: I keep a simple text file with my video TV series'[0], which I tend to scrape from https://thetvdb.com/ for Plex[1]; my personal video recorder software. If I didn't have to mess around with file extensions it would be even more trivial to copy/paste the contents of this text file into massren ๐Ÿ˜€

A simple regex solved my issue on this (first) occasion, but it would be nice to have an ignore option to fall back on if I have a mess of file extensions in future:

\.avi|mkv|mp4

If anyone else reading this agrees please up-vote or reply "+1"

Please let me know if there's a more suitable place to leave issues

Hope this is clear/useful

Yours faithfully

[0] Example TV series:

Curb Your Enthusiasm - s00e01 - Larry David: Curb Your Enthusiasm 1999-12-01
Curb Your Enthusiasm - s00e03 - Original Pilot
Curb Your Enthusiasm - s00e11 - It's Not A Reunion Show But It's The Closest You're Gonna Get 2009-09-08
Curb Your Enthusiasm - s00e21 - Interviews: Museum of Television and Radio, with Larry David
Curb Your Enthusiasm - s00e30 - Ricky Gervais Meets Larry David 2006-01-05
Curb Your Enthusiasm - s00e33 - Rebuilding the Seinfeld Sets 2010-06-10
Curb Your Enthusiasm - s00e34 - The Seinfeld Reunion: It Could Only Happen on Curb...
Curb Your Enthusiasm - s00e35 - Larry David as George Costanza 2010-06-10
Curb Your Enthusiasm - s00e36 - A Seinfeld Moment on Curb
Curb Your Enthusiasm - s01e01 - The Pants Tent 2000-10-15
Curb Your Enthusiasm - s01e02 - Ted and Mary 2000-10-22
Curb Your Enthusiasm - s01e03 - Porno Gil 2000-10-29
Curb Your Enthusiasm - s01e04 - The Bracelet 2000-11-05
Curb Your Enthusiasm - s01e05 - Interior Decorator 2000-11-12
Curb Your Enthusiasm - s01e06 - The Wire 2000-11-19
Curb Your Enthusiasm - s01e07 - AAMCO 2000-11-26
Curb Your Enthusiasm - s01e08 - Beloved Aunt 2000-12-03
Curb Your Enthusiasm - s01e09 - Affirmative Action 2000-12-10
Curb Your Enthusiasm - s01e10 - The Group 2000-12-17
Curb Your Enthusiasm - s02e01 - The Car Salesman 2001-09-23
Curb Your Enthusiasm - s02e02 - Thor 2001-09-30
Curb Your Enthusiasm - s02e03 - Trick or Treat 2001-10-07
Curb Your Enthusiasm - s02e04 - The Shrimp Incident 2001-10-14
Curb Your Enthusiasm - s02e05 - The Thong 2001-10-21
Curb Your Enthusiasm - s02e06 - The Acupuncturist 2001-10-28
Curb Your Enthusiasm - s02e07 - The Doll 2001-11-04
Curb Your Enthusiasm - s02e08 - Shaq 2001-11-11
Curb Your Enthusiasm - s02e09 - The Baptism 2001-11-18
Curb Your Enthusiasm - s02e10 - The Massage 2001-11-25
Curb Your Enthusiasm - s03e01 - Chet's Shirt 2002-09-15
Curb Your Enthusiasm - s03e02 - The Benadryl Brownie 2002-09-22
Curb Your Enthusiasm - s03e03 - Club Soda and Salt 2002-09-29
Curb Your Enthusiasm - s03e04 - The Nanny from Hell 2002-10-06
Curb Your Enthusiasm - s03e05 - The Terrorist Attack 2002-10-13
Curb Your Enthusiasm - s03e06 - The Special Section 2002-10-20
Curb Your Enthusiasm - s03e07 - The Corpse-Sniffing Dog 2002-10-27
Curb Your Enthusiasm - s03e08 - Krazee-Eyez Killa 2002-11-03
Curb Your Enthusiasm - s03e09 - Mary, Joseph and Larry 2002-11-10
Curb Your Enthusiasm - s03e10 - The Grand Opening 2002-11-17
Curb Your Enthusiasm - s04e01 - Mel's Offer 2004-01-04
Curb Your Enthusiasm - s04e02 - Ben's Birthday Party 2004-01-11
Curb Your Enthusiasm - s04e03 - The Blind Date 2004-01-18
Curb Your Enthusiasm - s04e04 - The Weatherman 2004-01-25
Curb Your Enthusiasm - s04e05 - The 5 Wood 2004-02-01
Curb Your Enthusiasm - s04e06 - The Car Pool Lane 2004-02-08
Curb Your Enthusiasm - s04e07 - The Surrogate 2004-02-22
Curb Your Enthusiasm - s04e08 - Wandering Bear 2004-02-29
Curb Your Enthusiasm - s04e09 - The Survivor 2004-03-07
Curb Your Enthusiasm - s04e10 - Opening Night 2004-03-14
Curb Your Enthusiasm - s05e01 - The Larry David Sandwich 2005-09-25
Curb Your Enthusiasm - s05e02 - The Bowtie 2005-10-02
Curb Your Enthusiasm - s05e03 - The Christ Nail 2005-10-09
Curb Your Enthusiasm - s05e04 - Kamikaze Bingo 2005-10-16
Curb Your Enthusiasm - s05e05 - Lewis Needs a Kidney 2005-10-30
Curb Your Enthusiasm - s05e06 - The Smoking Jacket 2005-11-06
Curb Your Enthusiasm - s05e07 - The Seder 2005-11-13
Curb Your Enthusiasm - s05e08 - The Ski Lift 2005-11-20
Curb Your Enthusiasm - s05e09 - The Korean Bookie 2005-11-27
Curb Your Enthusiasm - s05e10 - The End 2005-12-04
Curb Your Enthusiasm - s06e01 - Meet the Blacks 2007-09-09
Curb Your Enthusiasm - s06e02 - The Anonymous Donor 2007-09-16
Curb Your Enthusiasm - s06e03 - The Ida Funkhouser Roadside Memorial 2007-09-23
Curb Your Enthusiasm - s06e04 - The Lefty Call 2007-09-30
Curb Your Enthusiasm - s06e05 - The Freak Book 2007-10-07
Curb Your Enthusiasm - s06e06 - The Rat Dog 2007-10-14
Curb Your Enthusiasm - s06e07 - The TiVo Guy 2007-10-21
Curb Your Enthusiasm - s06e08 - The N Word 2007-10-28
Curb Your Enthusiasm - s06e09 - The Therapists 2007-11-04
Curb Your Enthusiasm - s06e10 - The Bat Mitzvah 2007-11-11
Curb Your Enthusiasm - s07e01 - Funkhouser's Crazy Sister 2009-09-20
Curb Your Enthusiasm - s07e02 - Vehicular Fellatio 2009-09-27
Curb Your Enthusiasm - s07e03 - The Reunion 2009-10-04
Curb Your Enthusiasm - s07e04 - The Hot Towel 2009-10-11
Curb Your Enthusiasm - s07e05 - Denise Handicapped 2009-10-18
Curb Your Enthusiasm - s07e06 - The Bare Midriff 2009-10-25
Curb Your Enthusiasm - s07e07 - The Black Swan 2009-11-01
Curb Your Enthusiasm - s07e08 - Officer Krupke 2009-11-08
Curb Your Enthusiasm - s07e09 - The Table Read 2009-11-15
Curb Your Enthusiasm - s07e10 - Seinfeld 2009-11-22
Curb Your Enthusiasm - s08e01 - The Divorce 2011-07-10
Curb Your Enthusiasm - s08e02 - The Safe House 2011-07-17
Curb Your Enthusiasm - s08e03 - Palestinian Chicken 2011-07-24
Curb Your Enthusiasm - s08e04 - The Smiley Face 2011-07-31
Curb Your Enthusiasm - s08e05 - Vow of Silence 2011-08-07
Curb Your Enthusiasm - s08e06 - The Hero 2011-08-14
Curb Your Enthusiasm - s08e07 - The Bi-Sexual 2011-08-21
Curb Your Enthusiasm - s08e08 - Car Periscope 2011-08-28
Curb Your Enthusiasm - s08e09 - Mister Softee 2011-09-04
Curb Your Enthusiasm - s08e10 - Larry vs. Michael J. Fox 2011-09-11

[1] https://support.plex.tv/hc/en-us/articles/200220687-Naming-Series-Season-Based-TV-Shows

Option to bypass the Trash/Recycle Bin

I just used massren to mass-delete a bunch of files based on various filename filters, and it worked great, up until the part where it moved them all, one-by-one, to the OS X trash, complete with the sound effect for each one. On a list of about 10,000 files, this took more than 10 minutes.

An option to bypass the various operating system Trashes would be most welcome.

Support auto filename validation

Currently if a rename operation is invalid, massren do nothing and display error text

If possible, add an option like fix_invalid_filename

When it's false, massren works like what it is now

When it's true, fix common filename errors (maybe with more customizable setting like character used to replaced invalid characters)

For example

old name,   user's edit,   new name
---
1.h     1*.h     1_.h
2.h     1?.h     1_(1).h
3.h     2::2.h   2__2.h

Thanks for your repo!

I try to find application like this for years

BTW could you please update windows build to the lastest 1.4?

`massren .`

I used to invoke with this syntax: massren . . But it no longer works, it shows empty. I can leave the . off and it'll work, but I don't know why . fails as a path specification...?

Maintain the Windows release

I would like to work actively on the Windows release.

I currently have my semester exams coming up and would like to maintain the Windows release after that from December.

What if the path to editor has spaces?

I'm using Windows and tried to set the editor using this command:

massren --config editor "F:\Sublime Text 3\sublime_text.exe -n -w"

The command executes successfully, but when I try to launch massren, the following error occurs:

massren: Waiting for file list to be saved... (Press Ctrl + C to abort)
massren: exec: "F:\\Sublime": file does not exist
massren: Run 'massren --help' for usage

I'm guessing just wrapping the path in quotes here should solve the problem?

Dealing with already existing destination

Currently, massren doesn't deal with already existing files and throws up an error:

massren: "/path/to/file" cannot be renamed to "/some/file": destination already exists

There could be multiple strategies for dealing with such cases:

  1. Append some integer to the file. Most browsers do this with downloads.
  2. Overwrite the destination file.
  3. Skipping this file (& not renaming it) but continuing with others.

For me, option # 1 is the most used one, but # 3 sounds sane too.

Option to disable the giant message every time I do a renaming operation.

Simply put, it's annoying that every time I want to rename files, I am greeted with this enormous message about how to use the program, and would like for it to go away by default.

Plus, it can actually can be cumbersome to deal with because when I want to select something like the first column of text, I end up selecting a whole bunch of forward slashes and unneeded text.

I thought of 2 different ways of how to fix this issue:

  • Add a "--notut" flag that if used, disables the message from appearing my text editor, or...
  • Remember that the program was launched for the first time, so show the message once, then disable thereafter. And then probably add a "--tut" flag for those that want to read the tutorial text.

I would think that the first option would be easier to implement. Just my 2 cents.

Temporarily override the set editor?

Would be great to be able to override the [already] set editor temporarily.

(As I understand, now, the only possibility is to re-set the conf variable before launch, and then to restore it, which is sort of hectic :))

Freezes when no changes are made

If I run massren with no parameters, and save and exit my editor without making any changes, massren hangs indefinitely. Expected behavior is for it to quit.
Tested on Arch Linux 32-Bit.
EDIT: It still does respond to SIGINT

๐Ÿ‘‹ Newly windows user here :)

Hi,

massren is so much part of my workflow that I though it was shipped with macOS/Linux ๐Ÿ˜† ..
As I recently also got a windows workstation I wanted to voice for a bin release for windows :) (I did build it already for myself but I guess it would'nt hurt)


Build from source on Windows

Requires chocolatey

I use Windows Terminal and PowerShell 7 but it works with other setups, mingw is required as go-trash relies on gcc:

In an admin Terminal:

choco install -y golang mingw

Open a new terminal

go install "github.com/laurent22/[email protected]"

If you use vscode as the editor:

massren --config editor "code-insiders.cmd" # or code.cmd

Use EDITOR by default if set

I understand the need/want to support windows, so this will not work in all cases, but on systems where the EDITOR environment variable is set it seems to make sense to use that before trying to find an editor programmatically as it the default now.

This is the same strategy that git uses to find it's editor for commits and is fairly standard practice as far as I can tell.

Subsequent filenames rename fault

First of all, thank you for the great tool!

I've encountered undesirable behaviour:

(input)

$ ls
00.jpg  03.jpg  06.jpg  09.jpg  12.jpg  15.jpg  18.jpg  21.jpg  24.jpg  27.jpg  30.jpg  33.jpg  36.jpg  39.jpg
01.jpg  04.jpg  07.jpg  10.jpg  13.jpg  16.jpg  19.jpg  22.jpg  25.jpg  28.jpg  31.jpg  34.jpg  37.jpg
02.jpg  05.jpg  08.jpg  11.jpg  14.jpg  17.jpg  20.jpg  23.jpg  26.jpg  29.jpg  32.jpg  35.jpg  38.jpg

(then I do)

$ massren
...
// I want to shift numbering to start it from 01
01.jpg
02.jpg
...
40.jpg

(and get)

$ ls
40.jpg

Monitor text editor process ID and close massren if it's gone

Currently, after launching the text editor, massren watches for the temporary file it created. If this file is modified, the renaming process starts, and then massren is closed.

However, if the file is not changed at all and simply closed, massren stays open and has to be closed with Ctrl + C.

In order to prevent this, we could watch the text editor process ID and, if it's gone, automatically exit massren. That would take care mainly of modal editors such as Vim. It still won't fix the issue with GUI editors though since they would usually remain open even if the file is closed.

Brew?

This thing is smart, thanks!
I was wondering if you'd make it installable through brew?

Argument leader

I'm guessing most of users of massren doesn't expect /n like argument. I hope to change it to -n on windows.
Thank you

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.