Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Awesome Scalability | 49,370 | 9 days ago | 16 | mit | ||||||
The Patterns of Scalable, Reliable, and Performant Large-Scale Systems | ||||||||||
Awesome Datascience | 22,189 | 14 days ago | 1 | mit | ||||||
:memo: An awesome Data Science repository to learn and apply for real world problems. | ||||||||||
Awesome Deep Learning | 21,929 | 9 days ago | 32 | |||||||
A curated list of awesome Deep Learning tutorials, projects and communities. | ||||||||||
Awesome Deep Learning Papers | 21,874 | 3 years ago | 34 | TeX | ||||||
The most cited deep learning papers | ||||||||||
Awesome Nlp | 15,405 | 22 days ago | 10 | cc0-1.0 | ||||||
:book: A curated list of resources dedicated to Natural Language Processing (NLP) | ||||||||||
Awesome Production Machine Learning | 14,878 | 2 days ago | 23 | mit | ||||||
A curated list of awesome open source libraries to deploy, monitor, version and scale your machine learning | ||||||||||
Awesome Kubernetes | 14,349 | a month ago | 15 | other | Shell | |||||
A curated list for awesome kubernetes sources :ship::tada: | ||||||||||
Awesome Pytorch List | 14,103 | 6 months ago | 4 | |||||||
A comprehensive list of pytorch related content on github,such as different models,implementations,helper libraries,tutorials etc. | ||||||||||
Qix | 13,926 | a year ago | other | |||||||
Machine Learning、Deep Learning、PostgreSQL、Distributed System、Node.Js、Golang | ||||||||||
Machine Learning Tutorials | 13,851 | 4 months ago | 35 | cc0-1.0 | ||||||
machine learning and deep learning tutorials, articles and other resources |
The fastest way to build Awesome Tools and Apps! Powered by Python!
The purpose of this project is to share knowledge on how Awesome Streamlit is and can become. Pull requests are very welcome!
Streamlit has just been announced (Oct 2019) but I see the potential of becoming the Iphone of Data Science Apps. And maybe it can even become the Iphone of Technical Writing, Code, Micro Apps and Python.
This project provides
Visit the app at awesome-streamlit.org!
The only way to truly understand how magical Streamlit is to play around with it. But if you need to be convinced first, then here is the 4 minute introduction to Streamlit!
Afterwards you can go to the Streamlit docs to get started. You might also visit Awesome Streamlit docs.
A curated list of awesome streamlit resources. Inspired by awesome-python and awesome-pandas.
This repo is maintained by me :-)
I'm Marc, Skov, Madsen, PhD, CFA, Lead Data Scientist Developer at rsted
You can learn more about me at datamodelsanalytics.com
I try my best to govern and maintain this project in the spirit of the Zen of Python.
But i'm not an experienced open source maintainer so helpfull suggestions are appreciated.
Thanks
GitHub Issues and Pull requests are very welcome!
If you believe Awesome Streamlit is awesome and would like to join as a Core Developer feel free to reach out via datamodelsanalytics.com
The best way to contribute an awesome link is via a Pull request.
In the pull request you should
Thanks.
The best way to contribute an awesome app is via a Pull request.
In the pull request you should
gallery/<your_app_name>
and app file gallery/<your_app_name>/<your_app_name.py>
."""
## APP NAME
DESCRIPTION
Author: [YOUR NAME](https://URL_TO_YOU))\n
Source: [Github](https://github.com/URL_TO_CODE)
"""
import streamlit as st
# Your imports goes below
def main():
st.title("APP NAME")
st.markdown("DESCRIPTION")
# Your code goes below
if __name__ == "__main__":
main()
your_app_name
to the
invoke test.all
and fix all errors from your appstreamlit run app.py
and manually test your contribution.Please note that your app should not require high compute power as we are running on one of the cheapest tiers available on Azure.
Feel free to reach out if you have comments, questions or need help.
Thanks.
Please sign up to and participate in the community at discuss.streamlit.io
Please contribute to improving the Streamlit package at GitHub/streamlit/streamlit
Streamlit.io is in the position of trying to balance building an awesome, succesfull business and providing an awesome product to the open source community.
If you are in a Team please consider signing up for the beta of
If you would like to sponsor my time or the infrastructure the platform is running on, feel free to reach out via datamodelsanalytics.com.
You can also appreciate the work I have already done if you
Thanks
Marc
Attribution-ShareAlike 4.0 International
Clone the repo
git clone https://github.com/MarcSkovMadsen/awesome-streamlit.git
cd into the project root folder
cd awesome-streamlit
Then you should create a virtual environment named .venv
python -m venv .venv
and activate the environment.
On Linux, OsX or in a Windows Git Bash terminal it's
source .venv/Scripts/activate
or alternatively
source .venv/bin/activate
In a Windows terminal it's
.venv/Scripts/activate.bat
Create virtual environment named awesome-streamlit
conda create -n awesome-streamlit python=3.7.4
and activate environment.
activate awesome-streamlit
If you are on windows you need to install some things required by GeoPandas by following these instructions.
Then you should install the local requirements
pip install -r requirements_local.txt
Finally you need to install some spacy dependencies
python -m spacy download en_core_web_sm
python -m spacy download en_core_web_md
python -m spacy download de_core_news_sm
streamlit run app.py
or as a Docker container via
invoke docker.build --rebuild
invoke docker.run-server
If you don't wan't to clone the repo and build the docker container you can just use docker run
to run the image from Dockerhub
To run bash interactively
docker run -it -p 80:80 --entrypoint "/bin/bash" marcskovmadsen/awesome-streamlit:latest
To run the streamlit interactively on port 80
docker run -it -p 80:80 --entrypoint "streamlit" marcskovmadsen/awesome-streamlit:latest run app.py
We use
to ensure a high quality of our code and application.
You can run all tests using
invoke test.all
I've created a first version of an awesome streamlit test runner. You run it via
streamlit run test_runner_app.py
or in Docker
docker run -it -p 80:80 --entrypoint "streamlit" marcskovmadsen/awesome-streamlit:latest run test_runner_app.py
We use the power of Invoke to semi-automate the local workflow. You can see the list of available commands using
$ invoke --list
Available tasks:
docker.build Build Docker image
docker.push Push the Docker container
docker.run Run the Docker container interactively.
docker.run-server Run the Docker container interactively
docker.system-prune The docker system prune command will free up space
test.all (test.pre-commit, test.test) Runs isort, autoflake, black, pylint, mypy and pytest
test.autoflake Runs autoflake to remove unused imports on all .py files recursively
test.bandit Runs Bandit the security linter from PyCQA.
test.black Runs black (autoformatter) on all .py files recursively
test.isort Runs isort (import sorter) on all .py files recursively
test.mypy Runs mypy (static type checker) on all .py files recursively
test.pylint Runs pylint (linter) on all .py files recursively to identify coding errors
test.pytest Runs pytest to identify failing tests
You can configure the app in the config.py
file.
Please note that Streamlit has its own config files in the ~/.streamlit
folder.
The application is
You can build the package using
cd package
python setup.py sdist bdist_wheel
If you wan't to publish the package to PyPi you should first
update the version number in the setup.py file. The format is YYYYmmdd.version
. For example 20191014.2
Then you run
twine upload dist/awesome-streamlit-YYYYmmdd.version.tar.gz -u <the-pypi-username> -p <the-pypi-password>
For more info see the package README.md
The basic layout of a application is as simple as
.
app.py
As our application grows we would refactor our app.py file into multiple folders and files.
and end up with a project structure like
.
app.py
src
assets
| css
| | app.css
| | component1.css
| | component2.css
| | page1.css
| | page2.css
| images
| | image1.png
| | image2.png
core
| services
| service1.py
| service2.py
pages
| pages
| page1.py
| page2.py
shared
models
| model1.py
| model2.py
components
component1.py
component2.py
Further refactoring is guided by by this blog post and the Angular Style Guide.
We place our tests in a test
folder in the root folder organized with folders similar to the app
folder and file names with a test_
prefix.
.
test
test_app.py
core
| services
| test_service1.py
| test_service2.py
pages
| pages
| page1
| | test_page1.py
| page2
shared
models
| test_model1.py
| test_model2.py
components
test_component1.py
test_component2.py