debuglater
ploomber
debuglater | ploomber | |
---|---|---|
8 | 121 | |
52 | 3,380 | |
- | 0.5% | |
3.8 | 7.4 | |
3 months ago | 28 days ago | |
Python | Python | |
MIT License | 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.
debuglater
-
How do you deal with parallelising parts of an ML pipeline especially on Python?
Finally, debugging. If you're running code in sub-processes; debugging becomes a real pain because out of the box, you won't be able to start a debugger in the sub-processes. Furthermore, there's a chance that more than one fails. One solution is to dump the traceback when any sub-process fails, so you can start a debugging sesstion afterward; look at this project for an example.
-
debuglater: dump Python traceback for later debugging
The implementation is quite interesting. You can see it here. The serialization step has two parts: it takes the traceback object and wraps it into a new object so it can be serialized; secondly, it stores the source code so you can debug even if you don't have access to the source code!
-
debuglater: store Python traceback for later debugging
You can see a quick video demo here.
- GitHub - ploomber/debuglater: Store Python traceback for later debugging.
-
Show HN: Debuglater – Serialize Python traceback for later debugging
Hi HN!
We just released debuglater (https://github.com/ploomber/debuglater), an open-source library that serializes a Python traceback object for later debugging.
You can see a quick video demo here: https://github.com/ploomber/debuglater/blob/master/README.md
Countless times, we've scheduled overnight jobs to find out the following day that they failed. While logs are helpful, they are often insufficient for debugging. debuglater allows you to store the traceback object so you can start a debugging session at any moment.
We built this to support our open-source framework for data scientists (https://github.com/ploomber/ploomber), who often execute long-running code in remote environments. However, we realized this could be useful for the Python community, so we created a separate package. This project is a fork of Eli Finer's pydump, so kudos to him for laying the foundations!
The implementation is quite interesting. You can see it here (https://github.com/ploomber/debuglater/blob/master/src/debug...). The serialization step has two parts: it takes the traceback object and wraps it into a new object so it can be serialized; secondly, it stores the source code so you can debug even if you don't have access to the source code!
Please take it for a spin and let us know your feedback. Please share your feedback!
-
debuglater: Serialize Python traceback for later debugging
We just released debuglater, an open-source library that serializes a Python traceback object for later debugging.
- debuglater: Store Python traceback for later debugging. 🐛
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?
pout - Python pretty print on steroids
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.
pystack - 🔍 🐍 Like pstack but for Python!
papermill - 📚 Parameterize, execute, and analyze notebooks
dagster - An orchestration platform for the development, production, and observation of data assets.
dvc - 🦉 ML Experiments and Data Management with Git
argo - Workflow Engine for Kubernetes
MLflow - Open source platform for the machine learning lifecycle
nbdev - Create delightful software with Jupyter Notebooks
docker-airflow - Docker Apache Airflow
fastapi-dramatiq-data-ingestion - Sample project showing reliable data ingestion application using FastAPI and dramatiq
orchest - Build data pipelines, the easy way 🛠️