proycon / LaMachine

LaMachine - A software distribution of our in-house as well as some 3rd party NLP software - Virtual Machine, Docker, or local compilation/installation script
https://proycon.github.io/LaMachine
GNU General Public License v3.0
68 stars 20 forks source link

Slowly deprecate LaMachine in favour of more lightweight and distributed application-containers #214

Open proycon opened 2 years ago

proycon commented 2 years ago

If you're a user wondering where to migrate from LaMachine, read this comment: https://github.com/proycon/LaMachine/issues/214#issuecomment-1192726286


CLARIAH, the project in which LaMachine is embedded, has (finally) been moving towards clearer software & infrastructure requirements in the past year. These requirements focus on industry-standard solutions like application containers (OCI containers; e.g. usable with Docker) and orchestration of these containers.

This path has some implications for LaMachine, as it, as far containerization is concerned, makes use of more 'fat' containers, alongside other deployment options (VM, local installation etc), whereas aspects such as orchestration are deliberately left out of scope for LaMachine. LaMachine is essentially an infrastructure solution that I provided because there was no common solution to speak of on the project (CLARIAH) level.

As that changes and the new direction becomes clearer, LaMachine's purpose also needs to be revisited. The current solution is likely going to be obsolete. This is not something that will happen overnight and users needn't worry, but I and want to embrace the new direction and slowly facilitate this. Eventually LaMachine will be deprecated and (or possibly continue in a very different form).

A major factor contributing to the decision to deprecate LaMachine is the fact that LaMachine currently tries to tailor for a wide variety of environments (OS variants, Linux distros, Python versions, etc), which comes with a significant maintenance cost (and more prone to breakage). This is no longer sustainable in the long run.

Practically, deprecating LaMachine entails the following:

This issue is meant to track this progress and provide a place for discussion. End-users need not be alarmed yet at this stage.

proycon commented 2 years ago

Status update: this has been ongoing for a while. Various things that were in LaMachine are now containerized independently. I will slowly continue this as time progresses.

proycon commented 2 years ago

Where to migrate to from LaMachine?

LaMachine is a meta-distribution that provided a one-in-all solution for the installation of a variety of software. Now LaMachine is being deprecated, you will need another solution to install the software you want. What the best solution is depends a lot on the specific software you want to use, the system you are on, and your use-case.

As there will be a little less hand-holding without LaMachine, we expect users who want to install and locally use software to at least be familiar with common technologies such as Python Virtual Environments and Docker containers.

This post intends to guide you to new solutions. It will point to where you can find information on how to install specific software that was previously handled by LaMachine. I will attempt to keep this comment up to date for a while:

For certain software, there are no convenient alternatives to LaMachine yet, solutions hopefully will emerge as-needed.

LaMachine provided some software by CLARIAH/CLARIN partners, we now refer first and foremost to the partners:

LaMachine also bundled a lot of third-party software like Jupyter Lab/Notebook, pytorch, Moses, tensorflow, spaCy, freeling, coreNLP, fasttext, Nextflow. You will need to check your distribution or language's package manager or the upstream provider for solutions.

Integrated environments that offer and interconnect multiple tools for researchers over the web, as were already offered by LaMachine, will be offered instead by the larger CLARIAH infrastructure, of which the Language and Speech Tools portal at CLST is a notable part that will be kept up to date with services for many of the aforementioned software.

The deprecation of LaMachine does not mean it will become suddenly completely unavailable, it can still be used as-is. Things will remain working for a certain time until they break at some point due to divergences in the ecosystem. Such things will no longer be fixed then and users will be directed to the alternative solutions in this post instead.

mhkuu commented 1 year ago

Hey @proycon , I was just notified of this message by a co-worker. So a very belated "thank you very much" for your development and maintenance of LaMachine over the years! 🙏

egpbos commented 3 months ago

Just in case anybody comes here looking for replacements: there has been a conda-forge package for ticcltools (and its dependency ticcutils) for some years. I am no longer involved in TICCL development, but the conda package is quite low maintenance, so I do keep the package synced with the ticcltools repo (i.e.: to my knowledge, it is up to date, but I haven't checked recently).

To install ticcltools this way with conda (or mamba): conda install ticcltools -c conda-forge.

If somebody wants to help maintaining the conda-forge packages, wants to take over fully or is simply interested, here they are, feel free to contribute in any way:

https://github.com/conda-forge/ticcltools-feedstock https://github.com/conda-forge/ticcutils-feedstock