soopervisor
ploomber
Our great sponsors
soopervisor | ploomber | |
---|---|---|
3 | 121 | |
42 | 3,374 | |
- | 1.0% | |
5.0 | 7.4 | |
3 months ago | 21 days ago | |
Python | Python | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
soopervisor
- Ploomber Cloud - Parametrizing and running notebooks in the cloud in parallel
-
Show HN: Ploomber Cloud (YC W22) – run notebooks at scale without infrastructure
Hi, we’re Ido & Eduardo, the founders of Ploomber. We’re launching Ploomber Cloud today, a service that allows data scientists to scale their work from their laptops to the cloud.
Our open-source users (https://github.com/ploomber/ploomber) usually start their work on their laptops; however, often, their local environment falls short, and they need more resources. Typical use cases run out of memory or optimize models to squeeze out the best performance. Ploomber Cloud eases this transition by allowing users to quickly move their existing projects into the cloud without extra configurations. Furthermore, users can request custom resources for specific tasks (vCPUs, GPUs, RAM).
Both of us experienced this challenge firsthand. Analysis usually starts in a local notebook or script, and whenever we wanted to run our code on a larger infrastructure we had to refactor the code (i.e. rewrite our notebooks using Kubeflow’s SDK) and add a bunch of cloud configurations. Ploomber Cloud is a lot simpler, if your notebook or script runs locally, you can run it in the cloud with no code changes and no extra configuration. Furthermore, you can go back and forth between your local/interactive environment and the cloud.
We built Ploomber Cloud on top of AWS. Users only need to declare their dependencies via a requirements.txt file, and Ploomber Cloud will take care of making the Docker image and storing it on ECR. Part of this implementation is open-source and available at: https://github.com/ploomber/soopervisor
Once the Docker image is ready, we spin up EC2 instances to run the user’s pipeline distributively (for example, to run hundreds of ML experiments in parallel) and store the results in S3. Users can monitor execution through the logs and download artifacts. If source code hasn’t changed for a given pipeline task, we use cached artifacts and skip redundant computations, severely cutting each run's cost, especially for pipelines that require GPUs.
Users can sign up to Ploomber Cloud for free and get started quickly. We made a significant effort to simplify the experience (https://docs.ploomber.io/en/latest/cloud/index.html). There are three plans (https://ploomber.io/pricing/): the first is the Community plan, which is free with limited computing. The Teams plan has a flat $50 monthly and usage-based billing, and the Enterprise plan includes SLAs and custom pricing.
We’re thrilled to share Ploomber Cloud with you! So if you’re a data scientist who has experienced these endless cycles of getting a machine and going through an ops team, an ML engineer who helps data scientists scale their work, or you have any feedback, please share your thoughts! We love discussing these problems since exchanging ideas sparks exciting discussions and brings our attention to issues we haven’t considered before!
- Export Ploomber pipelines to Kubernetes (Argo), Airflow, AWS Batch, SLURM, and Kubeflow
ploomber
-
Show HN: JupySQL – a SQL client for Jupyter (ipython-SQL successor)
- One-click sharing powered by Ploomber Cloud: https://ploomber.io
Documentation: https://jupysql.ploomber.io
Note that JupySQL is a fork of ipython-sql; which is no longer actively developed. Catherine, ipython-sql's creator, was kind enough to pass the project to us (check out ipython-sql's README).
We'd love to learn what you think and what features we can ship for JupySQL to be the best SQL client! Please let us know in the comments!
-
Runme – Interactive Runbooks Built with Markdown
For those who don't know, Jupyter has a bash kernel: https://github.com/takluyver/bash_kernel
And you can run Jupyter notebooks from the CLI with Ploomber: https://github.com/ploomber/ploomber
-
Rant: Jupyter notebooks are trash.
Develop notebook-based pipelines
-
Who needs MLflow when you have SQLite?
Fair point. MLflow has a lot of features to cover the end-to-end dev cycle. This SQLite tracker only covers the experiment tracking part.
We have another project to cover the orchestration/pipelines aspect: https://github.com/ploomber/ploomber and we have plans to work on the rest of features. For now, we're focusing on those two.
-
New to large SW projects in Python, best practices to organize code
I recommend taking a look at the ploomber open source. It helps you structure your code and parameterize it in a way that's easier to maintain and test. Our blog has lots of resources about it from testing your code to building a data science platform on AWS.
-
A three-part series on deploying a Data Science Platform on AWS
Developing end-to-end data science infrastructure can get complex. For example, many of us might have struggled to try to integrate AWS services and deal with configuration, permissions, etc. At Ploomber, we’ve worked with many companies in a wide range of industries, such as energy, entertainment, computational chemistry, and genomics, so we are constantly looking for simple solutions to get them started with Data Science in the cloud.
- Ploomber Cloud - Parametrizing and running notebooks in the cloud in parallel
-
Is Colab still the place to go?
If you like working locally with notebooks, you can run via the free tier of ploomber, that'll allow you to get the Ram/Compute you need for the bigger models as part of the free tier. Also, it has the historical executions so you don't need to remember what you executed an hour later!
-
Alternatives to nextflow?
It really depends on your use cases, I've seen a lot of those tools that lock you into a certain syntax, framework or weird language (for instance Groovy). If you'd like to use core python or Jupyter notebooks I'd recommend Ploomber, the community support is really strong, there's an emphasis on observability and you can deploy it on any executor like Slurm, AWS Batch or Airflow. In addition, there's a free managed compute (cloud edition) where you can run certain bioinformatics flows like Alphafold or Cripresso2
-
Saving log files
That's what we do for lineage with https://ploomber.io/
What are some alternatives?
couler - Unified Interface for Constructing and Managing Workflows on different workflow engines, such as Argo Workflows, Tekton Pipelines, and Apache Airflow.
Kedro - Kedro is a toolbox for production-ready data science. It uses software engineering best practices to help you create data engineering and data science pipelines that are reproducible, maintainable, and modular.
kfserving - Standardized Serverless ML Inference Platform on Kubernetes [Moved to: https://github.com/kserve/kserve]
papermill - 📚 Parameterize, execute, and analyze notebooks
pipelines - Machine Learning Pipelines for Kubeflow
dagster - An orchestration platform for the development, production, and observation of data assets.
elyra - Elyra extends JupyterLab with an AI centric approach.
dvc - 🦉 ML Experiments and Data Management with Git
argo - Workflow Engine for Kubernetes
kserve - Standardized Serverless ML Inference Platform on Kubernetes
MLflow - Open source platform for the machine learning lifecycle