Giter Club home page Giter Club logo

libytdl's Introduction

libytdl

A library written in pure nim for downloading YT videos. YT stands for "You're Turd!". Beat that RIIA!


!! WORK IN PROGRESS. NOT AT ALL IN WORKING STATE. Contributions welcome !!


Why libytdl?

  1. youtube-dl replacement: libytdl is aimed to be a replacement for yt-dl . That's it. But why replace at all?
  2. Dream big, start small: libytdl will for now start with only YT (You're Turd!) videos. Later it will move on to other domains!

youtube-dl's python problem

  1. fucking slow: Benchmarks with libytdl coming soon.
  2. No C API: youtube-dl doesn't have a C API. It is possible to have one but that's not "good practice". Having a C API means a library being language/platform agnostic. Nobody can fuck with C. Nobody! (in Alex Jones! voice)
  3. Its difficult to embed: Having a python based codebase means embedding will be difficult. At least relatively difficult with a C API. All languages have a C ABI.
  4. Python 2 problem: youtube-dl supports python2 meaning that every part of the development process has to cater to the old python version at least for now. This won't be a problem for youtube-dl in future though.
  5. Messy & old codebase: youtube-dl is a great project. but it has a lot of shit it carries with it. Go have a look yourself!
  6. DMCA Shit: youtube-dl suffers from the problem of DMCA/RIIA shit. Although this has been good these days, but libytdl will make sure the DMCA terms and conditions. Fuck RIIA! Fuck DMCA!
  7. Large executables: youtube-dl has to be used with a standalone python executable Since libytdl compiles down to native executable, the final executable sizes will obviously be smaller than the python version.

libytdl choosing nim over rust or go or c++

  1. Fuck Rust.
  2. Fuck Go.
  3. Fuck C++.
  4. Haskell? Lol!
  5. JavaScript, Python, Lua, Ruby, PHP? 2xLOL!

No more questions!

Language bindings for other languages:

Let me complete this library first!

Am I crazy or was I high when I wrote this?

Who isn't ?!

libytdl's People

Contributors

himujjal avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

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.