cookiecutter-data-science
projects
cookiecutter-data-science | projects | |
---|---|---|
17 | 19 | |
7,611 | 77 | |
- | - | |
1.6 | 4.7 | |
20 days ago | 3 months ago | |
Python | Jupyter Notebook | |
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.
cookiecutter-data-science
-
Questions about Cookiecutter and Anaconda.
I opened an Anaconda cmd window and ran `cookiecutter https://github.com/drivendata/cookiecutter-data-science ` . I answered all prompted questions. After searching for a while I found where the project folder was created. However, how do I get this on GitHub? The only thing I can figure out is to create a brand new repo on GitHub with the exact same name, open it in GitHub desktop, click "show in explorer", and then drag and drop all files from the Cookiecutter folder into the GitHub Desktop folder. However to me this does not sound like the intended way to create a new project and put it on GitHub.
-
What should the folder structure of my Python projects be?
I'm not sure what "data scraping" means exactly, but for data science generally I think this is a pretty good template: https://github.com/drivendata/cookiecutter-data-science
- What are examples of well-organized data science project that I can see on Github?
-
How to keep a project organized?
Perhaps this cookiecutter template will help: https://github.com/drivendata/cookiecutter-data-science
-
What are some good DS/ML repos where I can learn about structuring a DS/ML project?
I've found https://github.com/drivendata/cookiecutter-data-science as a guide, but haven't found any repos that solve a problem end to end actually use it. Are there any good repos or resources that exemplify how to solve a DS/ML case end-to-end? Including any UI (a report, stream, dash etc) needed for delivery, handling data, preprocessing, training and local development.
- Can anyone share how they structure their folder for data engineer project?
-
Personal Projects that are original
Project don't need to be 100% original, do the project in a such a way that other people has not done yet. There are plenty of datasets and notebooks available on Kaggle. Those are just bunch of notebooks. Take the inspiration from the notebook and build the project in modular structure and organize your project in proper folders and modules. I am using this cookiecutter for building my portfolio projects. https://github.com/drivendata/cookiecutter-data-science
-
How to resolve ModuleNotFoundError error?
Hi all,I am working on ML project and have created project using the cookiecutter-data-science scaffolding. The structure of the project somewhat looks like this,
-
Workflow for early research projects in your organization?
While data science is not SE, it's fundamental to have some structure in your projects since you want the work to be somewhat reproducible. I recommend you start here https://github.com/drivendata/cookiecutter-data-science Since it's a cookie cutter it will be easier to implement at first since they can create the structure by running a short command, after some time you will tailor it to your specific company needs :) For notebooks it's kind of hard, they can't be peer reviewd that easily since cells are editable even after code has been run, keeping the old result... I recommend tools like deepnote, but I'm not sure how well they work for collaboration in notebooks because I never used them yet, I just know they are working on solving these problems. I hope these things help!
-
Github Discussion: What is your favorite Data Science Repo?
Personally I like using cookiecutter’s data science project template. It is easy to set up and has a clear structure. Here is their github: https://github.com/drivendata/cookiecutter-data-science
projects
-
Analyze and plot 5.5M records in 20s with BigQuery and Ploomber
You can look at the files in detail here. For this tutorial, I'll quickly mention a few crucial details.
-
Three Tools for Executing Jupyter Notebooks
Ploomber is the complete solution for notebook execution. It builds on top of papermill and extends it to allow writing multi-stage workflows where each task is a notebook. Meanwhile, it automatically manages orchestration. Hence you can run notebooks in parallel without having to write extra code.
-
OOP in python ETL?
The answer is YES, you can take advantage of OOP best practices to write good ETLs. For instance in this Ploomber sample ETL You can see there's a mix of .sql and .py files, it's within modular components so it's easier to test, deploy and execute. It's way easier than airflow since there's no infra work involved, you only have to setup your pipeline.yaml file. This also allows you to make the code WAY more maintainable and scalable, avoid redundant code and deploy faster :)
-
What are some good DS/ML repos where I can learn about structuring a DS/ML project?
We have tons of examples that follow a standard layout, here’s one: https://github.com/ploomber/projects/tree/master/templates/ml-intermediate
-
Anyone's org using Airflow as a generalized job orchestator, not just for data engineering/ETL?
I can talk about the open-source I'm working on Ploomber (https://github.com/ploomber/ploomber), it's focusing on seamless integration with Jupyter and IDEs. It allows an easy mechanism to orchestrate work for instance, here's an example SQL ETL and then you can deploy it anywhere, so if you're working with Airflow, it'll deploy it there too but without the complexity. You wouldn't have to maintain docker images etc.
-
ETL with python
I recommend using Ploomber which can help you build once and automate a lot of the work, and it works with python natively. It's open source so you can start with one of the examples, like the ML-basic example or the ETL one. It'll allow you to define the pipeline and then easily explain the flow with the DAG plot. Feel free to ask questions, I'm happy to help (I've built 100s of data pipelines over the years).
-
What tools do you use for data quality?
I'm not sure what pipeline frameworks support this kind of testing, but after successfully implementing this workflow, I added this feature to Ploomber, the project I'm working on. Here's how a pipeline looks like, and here's a tutorial.
-
Data pipeline suggestions
Check out Ploomber, (disclaimer: I'm the author) it has a simple API, and you can export to Airflow, AWS, Kubernetes. Supports all databases that work with Python and you can seamlessly transfer from a SQL step to a Python step. Here's an example.
-
ETL Tools
Without more specifics about your use case, it's hard to give more specific advice. But check out Ploomber (disclaimer: I'm the creator) - here's an example ETL pipeline. I've used it in past projects to develop Oracle ETL pipelines. Modularizing the analysis in many parts helps a lot with maintenance.
-
Whats something hot rn or whats going to be next thing we should focus on in data engineering?
Yes! (tell your friend). You can write shell scripts so you can execute that 2002 code :) You can test it locally and then run it in AWS Batch/Argo. Here's an example
What are some alternatives?
MLflow - Open source platform for the machine learning lifecycle
ploomber - The fastest ⚡️ way to build data pipelines. Develop iteratively, deploy anywhere. ☁️
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.
pyscaffoldext-dsproject - 💫 PyScaffold extension for data-science projects
dbt-core - dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.
FastAPI-template - Feature rich robust FastAPI template.
jitsu - Jitsu is an open-source Segment alternative. Fully-scriptable data ingestion engine for modern data teams. Set-up a real-time data pipeline in minutes, not days
jupyter - Jupyter metapackage for installation, docs and chat
Python Packages Project Generator - 🚀 Your next Python package needs a bleeding-edge project structure.
shournal - Log shell-commands and used files. Snapshot executed scripts. Fully automatic.
castled - Castled is an open source reverse ETL solution that helps you to periodically sync the data in your db/warehouse into sales, marketing, support or custom apps without any help from engineering teams