Skip to main content

Templates

Our templates constitute the most extensive collection of open-source notebooks currently available. They encompass a wide range of tools, technologies, and libraries, featuring snippets of notebooks, notebooks for automation and analytics, and others that harness the power of AI.

Each of these templates adheres to a consistent framework, designed to expedite your coding process. While these templates are designed for ease of use, some may require data science skills for setup, particularly those that interface with third-party tools via API. These templates can function independently, but they also serve as integral components of data products. Consider them as the essential parts needed to assemble your 'car engine'. By developing these templates and ensuring their standalone functionality, we streamline the process of data product development, as we already comprehend the operation of some parts within it.

All templates are readily accessible on GitHub or via Naas Search.

How is organized a template?

To ensure the quality of the templates, we have defined a framework. Each notebook shall be organized as follow.

  • Naas logo
  • # Title: "Tool - Action of the notebook", as h1. An "Open in Naas" button will be added automatically by the CI/CD when a notebook is merged to the master branch.
  • Tags: hashtags relevant to the topics covered in the notebook, as text
  • Author: name and social profile link of the author(s), as text
  • Last update: YYYY-MM-DD (Created: YYYY-MM-DD): The last update date refers to when the notebook was last edited, while the created date corresponds to when the notebook was initially merged.
  • Description: a one-liner explaining the benefits of the notebooks for the user, as text
  • References: list of references and websites utilized in the creation of this notebook

Outline

  • ## Input: list of all the variables, credentials, that needs to be setup, as h2
  • ## Model: list the functions applied to the data, as h2
  • ## Output: list the assets to be used by the user and its distribution channels if any, as h2

Providing Feedback

At the top of the notebook, you'll find a link for providing feedback on the notebook you're using. This could be:

  • A suggestion for a new feature that could enhance the notebook
  • Documentation improvements to make it more user-friendly
  • Notification of a typographical error
  • A simple word of praise (🙂)

Upon clicking this link, you'll be redirected to a Google form where you can provide more information. We will endeavor to contact the notebook creator for improvements or seek community assistance during our bi-monthly community calls that aim to create new templates or enhance existing ones.

Reporting A Bug

Since all our templates are open-source, errors may occasionally occur. We apologize for any inconvenience that may cause and request your support in reporting these issues to help us rectify them. To report a bug, click on the link at the top of the notebook. You will be redirected to GitHub to create an issue. Please attach screenshots to help us understand the bug, and provide any other information that could assist us in reproducing the issue. We will strive to respond as quickly as possible to resolve the issue.

How to contribute?

Pre-requisites

  • Register for the Open Source Contributor Program so we can add you to the team of contributors in the Naas GitHub organization. To start working on our repository, you must be a part of our open-source contributors team. Please check your email and validate the invitation before you begin working on a new issue.
  • Create your GitHub personal access token. Select “No expiration” and tick only the first section repository and keep your token safe as you won’t be able to generate it again.
  • Open a free account on Naas Lab so we can test the templates in a similar environment.

Step 1: Create or Select an Issue

Identify or propose an issue you wish to work on. It could be a snippet of Python code, an API integration with a tool you are using, or an automation leveraging existing templates with our scheduler, asset, or webhook features. Before you begin working on it, prepare the issue:

  • Ensure the description is clear.
  • Tag yourself in the Assignees section.
  • Change the status to 'In Progress' in the Projects section/Community Roadmap.
  • Create a branch in the Development section.

Step 2: Technical Setup

Clone the awesome-notebooks repository on your Naas Cloud account and switch to the branch you created. If a draft of a template (generated with our AI system) has been already created, you can directly start working on it.

Otherwise, you kick start manually:

  • Create a folder named with the source tool (if it's not already created).
  • Copy/Paste template.ipynb at the root of the repository
  • Rename the template following this format: Toolname_Function.ipynb.

Step 3: Work on Your Notebook

Start working on your notebook. Commit your work every time you make significant progress. You can use the UI interface inside your Naas Lab server to do this.

  • All new files will be found in the untracked section, all modified files in the unstaged section.
  • Once you want to commit, add your notebook to staged by clicking on the + and create a commit message. We recommend following the commit convention and starting your message with “feat:” if it's an improvement or “fix:” if it's a bug fix, followed by a clear commit message. Here are some examples:
    • feat: update tags, author, and description
    • feat: developing function in model to…
    • fix: adding try except to manage error on…
  • Once you're satisfied with the result, push to the branch by clicking on the icon on top (make sure you use a GitHub personal access token and not a password, otherwise, it won’t work).
  • Ensure the notebook respects the framework.

Step 4: Open a Pull Request

Open a Pull Request and add a Templates Maintainer as Reviewer: Florent (FlorentLvr), Srini (srini047) or Jérémy (jravenel).

  • Change the status of this Issue to “Review” in the Projects section and comment on the Pull Request with a brief summary of what you've done.
  • You will now discuss your work on the PR. If any changes are made, ensure you pull the branch before working on it again by clicking on the button at the top.
  • Expect feedback and merge within the next 48-72 hours.

Step 5: Promote Your Work

Once merged, promote your work on LinkedIn, Twitter, and other social media channels! (Optional, but people need to know you are awesome 😉). Explain why you did this notebook and how it could be useful. You can use the certificate generated once the PR is merged to display your work and add the tag open source contributor on your LinkedIn profile. We will be happy to have you in our community.

Thank you!

Step 6: Become a Templates Maintainer

If you want to contribute more frequently to Naas, you can become a templates maintainer. This status will offer you the right to be sponsored by Naas for your contributions done every month, ranging from $50 to $250. To become a templates maintainer, you must have completed at least 5 notebooks (which ensures you've mastered our process) and created 5 social media content promoting your template or Naas.

Then, you will be introduced to our template maintainer program and will have a dedicated team with the core team to assist you in developing integrations, automations, or AI systems.

Support us on social media

We are committed to sharing templates and giving shout outs to the contributors on our social media platforms, you can support us on:

Templates list

AWS

Abstract API

Advertools

Affinity

Agicap

Airtable

Algolia

AlphaVantage

Azure Blob Storage

Azure Machine Learning

Bazimo

BeautifulSoup

BigQuery

Bitly

Boursorama

Bubble

CCXT

Canny

Celestrak

Cityfalcon

Clockify

Cloud Mercato

Creditsafe

D-Tale

Dash

Dask

Data.gouv.fr

Datetime

Deepl

Draft Kings

EM-DAT

Elasticsearch

Excel

FAO

FEC

FED

FTP

Faker

Folium

Forecast

Formant

Geopy

GitHub

Gmail

Google Analytics

Google Calendar

Google Drive

Google Maps

Google Sheets

Google Slides

HTML

Harvest

Healthchecks

HubSpot

Hugging Face

IFTTT

IMDB

INPI

IPyWidgets

IUCN

Insee

Instagram

Integromat

JSON

Johns Hopkins

Jupyter Notebooks

Jupyter

Kaggle

Knative

LangChain

LeFigaro

LinkedIn Sales Navigator

LinkedIn

Matplotlib

Metrics Store

Microsoft Teams

Microsoft Word

Mixpanel

MongoDB

MoviePy

MySQL

NASA

Naas Auth

Naas Dashboard

Naas

Neo

Newsapi

Notion

OS

OWID

OpenAI

OpenAlex

OpenBB

OpenPIV

OpenWeatherMap

OwnCloud

PDF

Pandas

Pandasql

Panel

Pillow

Pipedrive

Plaid

Plotly

Polars

PostgresSQL

PowerPoint

PyCaret

PyGWalker

PyPI

Python

Pyvis

Qonto

Quandl

Reddit

Redshift

RegEx

Remoteok

Remotive

Request

SAP-HANA

SEON

SQLite

SWIFT

SendGrid

Sendinblue

SharePoint

Shutterstock

Slack

Snowflake

Societe.com

Spotify

Stabilty AI

Stable Diffusion

Streamlit

Stripe

Supabase

Telegram

Text

Thinkific

TikTok

Trello

Twilio

Twitter

Typeform

US Bureau of Labor Statistics

Vizzu

WAQI

WSR

WhatsApp

Wikipedia

WindsorAI

WorldBank

Worldometer

XGBoost

XML

YahooFinance

YouTube

ZIP

Zapier

ZeroBounce

gTTS

spaCy