Coder Social home page Coder Social logo

mrjdomingus / cookiecutter-streamlit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gerardrbentley/cookiecutter-streamlit

0.0 0.0 0.0 41 KB

Collection of cookiecutter starter templates for streamlit projects

License: Apache License 2.0

Python 95.15% Makefile 4.36% Procfile 0.49%

cookiecutter-streamlit's Introduction

Cookiecutter Streamlit

A collection of cookiecutter templates for generating a skeleton for your next fantastic Streamlit app! ๐ŸŽˆ

Plenty to deploy to Streamlit Cloud.

Options to develop in gitpod and deploy to heroku

Made with โค๏ธ from Gar's Bar

Make an awesome project with this? Share it on twitter @garsbar35plus or in the Streamlit Discuss Forums

Getting Started

  • Ensure you have python ๐Ÿ installed (if you don't, see my way)
  • Install the cookiecutter ๐Ÿช package
python -m pip install cookiecutter

NOTE: These steps need to be followed once in order to use any cookiecutter template.

  • Run cookiecutter on this repository
    • You'll have to press enter or type your own values to replace defaults for each option (more info below)
cookiecutter https://github.com/gerardrbentley/cookiecutter-streamlit
  • Open up your new project directory in your favorite text editor to get hacking!
    • Or just run it!
# Replace streamlit_app with your project directory name
cd streamlit_app
# If you don't have streamlit or other necessary packages installed, open your new README.md and get it installed!
streamlit run streamlit_app.py

BONUS: Use git clone with the same url to customize the templates for your own liking then use cookiecutter cookiecutter-streamlit

All Config Options

  • github_username: Used for github links and the "made by" text
  • licensor_name: Your full name or company name
  • project_name: Name of your new app
  • project_slug: defaults to camel_case version of your project name
  • project_short_description: Description of your project
  • include_streamlit_config: defaults to "yes" to generate .streamlit/config.toml
  • include_heroku_deployment: defaults to "no" to not generate Procfile, app.json, runtime.txt
  • include_gitpod_config: defaults to "no" to not generate .gitpod.yml
  • project_template: defaults to "hello_world", see below template descriptions

All Templates

hello_world

Streamlit "Hello World".

Just enough to get started with your streamlit app, a README, requirements, and github necessities.

cheat_sheet

Streamlit cheat sheet from daniellewisDL (MIT License included)

image_processing

Provides example with YOLOv4-tiny model for receiving user image input, processing the image, and displaying the results.

User can provide an image via URL, file upload, or webcam.

Includes weights and configurations for YOLOv4-tiny on OpenCV from darknet github, which will not apply to all projects.

data_science

Roughly based on DrivenData's repo cookiecutter-data-science

Provides a directory structure for data processing pipeline, feature engineering, model training, and displaying all of these along with model prediction in the main streamlit app.

Connect to your own Repo

Save your project and share with the world! Start a repository on github (using the same name as your current folder will keep the documentation in line). Or use gitlab / gitea and change the folder name if you know what you're doing!

# Run once
git init
git remote add origin [email protected]:{{ cookiecutter.github_username }}/{{ cookiecutter.project_slug }}.git

# Run for your changes and pushes
git add .
git commit -m "feat: Streamlit App Starter!"
git push

NOTE: In general don't git add . useless files into your repo. This skeleton should be all useful though! Also take some time to learn branching if you're working with others!

More Streamlit Resources

Roadmap

  • ๐Ÿ–ฅ Windows support
  • โš“๏ธ Docker support
  • Extended Makefile and example for Data Science template
  • ๐Ÿ—„ Database template
  • ๐Ÿ““ Text Processing template

cookiecutter-streamlit's People

Contributors

gerardrbentley avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.