Alternatives to DVC logo

Alternatives to DVC

Pachyderm, MLflow, Git, SVN (Subversion), and Mercurial are the most popular alternatives and competitors to DVC.
32
64
+ 1
1

What is DVC and what are its top alternatives?

It is an open-source Version Control System for data science and machine learning projects. It is designed to handle large files, data sets, machine learning models, and metrics as well as code.
DVC is a tool in the Version Control System category of a tech stack.
DVC is an open source tool with 8.9K GitHub stars and 855 GitHub forks. Here’s a link to DVC's open source repository on GitHub

Top Alternatives to DVC

  • Pachyderm

    Pachyderm

    Pachyderm is an open source MapReduce engine that uses Docker containers for distributed computations. ...

  • MLflow

    MLflow

    MLflow is an open source platform for managing the end-to-end machine learning lifecycle. ...

  • Git

    Git

    Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. ...

  • SVN (Subversion)

    SVN (Subversion)

    Subversion exists to be universally recognized and adopted as an open-source, centralized version control system characterized by its reliability as a safe haven for valuable data; the simplicity of its model and usage; and its ability to support the needs of a wide variety of users and projects, from individuals to large-scale enterprise operations. ...

  • Mercurial

    Mercurial

    Mercurial is dedicated to speed and efficiency with a sane user interface. It is written in Python. Mercurial's implementation and data structures are designed to be fast. You can generate diffs between revisions, or jump back in time within seconds. ...

  • Plastic SCM

    Plastic SCM

    Plastic SCM is a distributed version control designed for big projects. It excels on branching and merging, graphical user interfaces, and can also deal with large files and even file-locking (great for game devs). It includes "semantic" features like refactor detection to ease diffing complex refactors. ...

  • Magit

    Magit

    It is an interface to the version control system Git, implemented as an Emacs package. It aspires to be a complete Git porcelain. While we cannot (yet) claim that it wraps and improves upon each and every Git command, it is complete enough to allow even experienced Git users to perform almost all of their daily version control tasks directly from within Emacs. While many fine Git clients exist, only deserve to be called porcelains. ...

  • Pijul

    Pijul

    Pijul is a free and open source (AGPL 3) distributed version control system. Its distinctive feature is to be based on a sound theory of patches, which makes it easy to learn and use, and really distributed. ...

DVC alternatives & related posts

Pachyderm logo

Pachyderm

20
60
5
MapReduce without Hadoop. Analyze massive datasets with Docker.
20
60
+ 1
5
PROS OF PACHYDERM
  • 3
    Containers
  • 1
    Versioning
  • 1
    Can run on GCP or AWS
CONS OF PACHYDERM
    Be the first to leave a con

    related Pachyderm posts

    MLflow logo

    MLflow

    131
    389
    8
    An open source machine learning platform
    131
    389
    + 1
    8
    PROS OF MLFLOW
    • 4
      Simplified Logging
    • 4
      Code First
    CONS OF MLFLOW
      Be the first to leave a con

      related MLflow posts

      Shared insights
      on
      MLflowMLflowDVCDVC

      I already use DVC to keep track and store my datasets in my machine learning pipeline. I have also started to use MLflow to keep track of my experiments. However, I still don't know whether to use DVC for my model files or I use the MLflow artifact store for this purpose. Or maybe these two serve different purposes, and it may be good to do both! Can anyone help, please?

      See more
      Biswajit Pathak
      Project Manager at Sony · | 4 upvotes · 23.8K views

      Can you please advise which one to choose FastText Or Gensim, in terms of:

      1. Operability with ML Ops tools such as MLflow, Kubeflow, etc.
      2. Performance
      3. Customization of Intermediate steps
      4. FastText and Gensim both have the same underlying libraries
      5. Use cases each one tries to solve
      6. Unsupervised Vs Supervised dimensions
      7. Ease of Use.

      Please mention any other points that I may have missed here.

      See more
      Git logo

      Git

      136.3K
      111.8K
      6.6K
      Fast, scalable, distributed revision control system
      136.3K
      111.8K
      + 1
      6.6K
      PROS OF GIT
      • 1.4K
        Distributed version control system
      • 1.1K
        Efficient branching and merging
      • 964
        Fast
      • 846
        Open source
      • 728
        Better than svn
      • 368
        Great command-line application
      • 306
        Simple
      • 291
        Free
      • 232
        Easy to use
      • 222
        Does not require server
      • 27
        Distributed
      • 22
        Small & Fast
      • 18
        Feature based workflow
      • 15
        Staging Area
      • 13
        Most wide-spread VSC
      • 11
        Disposable Experimentation
      • 11
        Role-based codelines
      • 7
        Frictionless Context Switching
      • 6
        Data Assurance
      • 5
        Efficient
      • 4
        Just awesome
      • 3
        Github integration
      • 3
        Easy branching and merging
      • 2
        Compatible
      • 2
        Possible to lose history and commits
      • 2
        Flexible
      • 1
        Team Integration
      • 1
        Easy
      • 1
        Light
      • 1
        Fast, scalable, distributed revision control system
      • 1
        Rebase supported natively; reflog; access to plumbing
      • 1
        Flexible, easy, Safe, and fast
      • 1
        CLI is great, but the GUI tools are awesome
      • 1
        It's what you do
      • 0
        Phinx
      CONS OF GIT
      • 16
        Hard to learn
      • 11
        Inconsistent command line interface
      • 9
        Easy to lose uncommitted work
      • 7
        Worst documentation ever possibly made
      • 5
        Awful merge handling
      • 3
        Unexistent preventive security flows
      • 3
        Rebase hell
      • 2
        When --force is disabled, cannot rebase
      • 2
        Ironically even die-hard supporters screw up badly

      related Git posts

      Simon Reymann
      Senior Fullstack Developer at QUANTUSflow Software GmbH · | 28 upvotes · 3.2M views

      Our whole DevOps stack consists of the following tools:

      • GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
      • Respectively Git as revision control system
      • SourceTree as Git GUI
      • Visual Studio Code as IDE
      • CircleCI for continuous integration (automatize development process)
      • Prettier / TSLint / ESLint as code linter
      • SonarQube as quality gate
      • Docker as container management (incl. Docker Compose for multi-container application management)
      • VirtualBox for operating system simulation tests
      • Kubernetes as cluster management for docker containers
      • Heroku for deploying in test environments
      • nginx as web server (preferably used as facade server in production environment)
      • SSLMate (using OpenSSL) for certificate management
      • Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
      • PostgreSQL as preferred database system
      • Redis as preferred in-memory database/store (great for caching)

      The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:

      • Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
      • Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
      • Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
      • Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
      • Scalability: All-in-one framework for distributed systems.
      • Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
      See more
      Ali Soueidan
      Creative Web Developer at Ali Soueidan · | 18 upvotes · 800.8K views

      Application and Data: Since my personal website ( https://alisoueidan.com ) is a SPA I've chosen to use Vue.js, as a framework to create it. After a short skeptical phase I immediately felt in love with the single file component concept! I also used vuex for state management, which makes working with several components, which are communicating with each other even more fun and convenient to use. Of course, using Vue requires using JavaScript as well, since it is the basis of it.

      For markup and style, I used Pug and Sass, since they’re the perfect match to me. I love the clean and strict syntax of both of them and even more that their structure is almost similar. Also, both of them come with an expanded functionality such as mixins, loops and so on related to their “siblings” (HTML and CSS). Both of them require nesting and prevent untidy code, which can be a huge advantage when working in teams. I used JSON to store data (since the data quantity on my website is moderate) – JSON works also good in combo with Pug, using for loops, based on the JSON Objects for example.

      To send my contact form I used PHP, since sending emails using PHP is still relatively convenient, simple and easy done.

      DevOps: Of course, I used Git to do my version management (which I even do in smaller projects like my website just have an additional backup of my code). On top of that I used GitHub since it now supports private repository for free accounts (which I am using for my own). I use Babel to use ES6 functionality such as arrow functions and so on, and still don’t losing cross browser compatibility.

      Side note: I used npm for package management. 🎉

      *Business Tools: * I use Asana to organize my project. This is a big advantage to me, even if I work alone, since “private” projects can get interrupted for some time. By using Asana I still know (even after month of not touching a project) what I’ve done, on which task I was at last working on and what still is to do. Working in Teams (for enterprise I’d take on Jira instead) of course Asana is a Tool which I really love to use as well. All the graphics on my website are SVG which I have created with Adobe Illustrator and adjusted within the SVG code or by using JavaScript or CSS (SASS).

      See more
      SVN (Subversion) logo

      SVN (Subversion)

      719
      541
      41
      Enterprise-class centralized version control for the masses
      719
      541
      + 1
      41
      PROS OF SVN (SUBVERSION)
      • 19
        Easy to use
      • 13
        Simple code versioning
      • 4
        User/Access Management
      • 3
        Complicated code versionioning by Subversion
      • 2
        Free
      CONS OF SVN (SUBVERSION)
      • 5
        Branching and tagging use tons of disk space

      related SVN (Subversion) posts

      I use Visual Studio Code because at this time is a mature software and I can do practically everything using it.

      • It's free and open source: The project is hosted on GitHub and it’s free to download, fork, modify and contribute to the project.

      • Multi-platform: You can download binaries for different platforms, included Windows (x64), MacOS and Linux (.rpm and .deb packages)

      • LightWeight: It runs smoothly in different devices. It has an average memory and CPU usage. Starts almost immediately and it’s very stable.

      • Extended language support: Supports by default the majority of the most used languages and syntax like JavaScript, HTML, C#, Swift, Java, PHP, Python and others. Also, VS Code supports different file types associated to projects like .ini, .properties, XML and JSON files.

      • Integrated tools: Includes an integrated terminal, debugger, problem list and console output inspector. The project navigator sidebar is simple and powerful: you can manage your files and folders with ease. The command palette helps you find commands by text. The search widget has a powerful auto-complete feature to search and find your files.

      • Extensible and configurable: There are many extensions available for every language supported, including syntax highlighters, IntelliSense and code completion, and debuggers. There are also extension to manage application configuration and architecture like Docker and Jenkins.

      • Integrated with Git: You can visually manage your project repositories, pull, commit and push your changes, and easy conflict resolution.( there is support for SVN (Subversion) users by plugin)

      See more
      rishig
      Head of Product at Zulip · | 8 upvotes · 100.8K views
      Shared insights
      on
      GitGitSVN (Subversion)SVN (Subversion)
      at

      I use Git instead of SVN (Subversion) because it allows us to scale our development team. At any given time, the Zulip open source project has hundreds of open pull requests from tens of contributors, each in various stages of the pipeline. Git's workflow makes it very easy to context switch between different feature branches.

      See more
      Mercurial logo

      Mercurial

      205
      182
      106
      A free, distributed source control management tool
      205
      182
      + 1
      106
      PROS OF MERCURIAL
      • 19
        A lot easier to extend than git
      • 17
        Easy-to-grasp system with nice tools
      • 13
        Works on windows natively without cygwin nonsense
      • 11
        Written in python
      • 9
        Free
      • 8
        Fast
      • 6
        Better than Git
      • 6
        Best GUI
      • 4
        Better than svn
      • 2
        Hg inc
      • 2
        Good user experience
      • 2
        TortoiseHg - Unified free gui for all platforms
      • 2
        Consistent UI
      • 2
        Easy-to-use
      • 2
        Native support to all platforms
      • 1
        Free to use
      CONS OF MERCURIAL
      • 0
        Track single upstream only
      • 0
        Does not distinguish between local and remote head

      related Mercurial posts

      Tim Abbott
      Shared insights
      on
      GitGitMercurialMercurial
      at

      I've been excited about Git ever since it got a built-in UI. It's the perfect combination of a really solid, simple data model, which allows an experienced user to predict precisely what a Git subcommand will do, often without needing to read the documentation (see the slides linked from the attached article for details). Most important to me as the lead developer of a large open source project (Zulip) is that it makes it possible to build a really clean, clear development history that I regularly use to understand details of our code history that are critical to making correct changes.

      And it performs really, really well. In 2014, I managed Dropbox's migration from Mercurial to Git. And just switching tools made just about every common operation (git status, git log, git commit etc.) 2-10x faster than with Mercurial. It makes sense if you think about it, since Git was designed to perform well with Linux, one of the largest open source projects out there, but it was still a huge productivity increase that we got basically for free.

      If you're learning Git, I highly recommend reading the other sections of Zulip's Git Guide; we get a lot of positive feedback from developers on it being a useful resource even for their projects unrelated to Zulip.

      See more
      Plastic SCM logo

      Plastic SCM

      30
      57
      16
      A distributed version control with strong merging, great GUIs and support for huge files
      30
      57
      + 1
      16
      PROS OF PLASTIC SCM
      • 8
        Wanna do Branch per Task Dev? Plastic rocks it
      • 3
        No Size limite
      • 2
        File Locking
      • 2
        Simple, easy to use interfaces. Resilient and solid
      • 1
        Very fast
      CONS OF PLASTIC SCM
      • 1
        Always uses automatic conflict resolution first
      • 1
        Adds files with only changed timestamp to pending
      • 1
        Keyboard shortcuts are lacking
      • 1
        Can't place windows next to each other to save space
      • 1
        No dark theme
      • 1
        Doesn't have file staging

      related Plastic SCM posts

      Magit logo

      Magit

      15
      10
      2
      A Git Porcelain inside Emacs
      15
      10
      + 1
      2
      PROS OF MAGIT
      • 1
        Best parts of GUI and command line git clients combined
      • 1
        Word wise diff highlighting
      CONS OF MAGIT
      • 1
        Can be slow on big diffs

      related Magit posts

      Pijul logo

      Pijul

      8
      18
      14
      A free and open source distributed version control system
      8
      18
      + 1
      14
      PROS OF PIJUL
      • 6
        A VCS based on Category Theory? Awesome
      • 4
        Patch-based VCS
      • 2
        I like birds
      • 1
        Unrelated patches are commutative
      • 1
        The exact patch dependencies are tracked
      CONS OF PIJUL
      • 1
        Lack of hosting options

      related Pijul posts