|about 12 hours ago||3 days ago|
|Apache License 2.0||GNU General Public License v3.0 or later|
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.
Suggestions for GUI framework for an app to browse tables of data, with buttons and dropdown menus in cells? And some related PySimpleGui questions
1 project | reddit.com/r/learnpython | 7 Nov 2021
I've never used it, but someone suggested it in another thread, and it looked interesting to me, so I have it bookmarked to try-out: https://streamlit.io/
How to separate out back-end from front-end?
1 project | reddit.com/r/learnpython | 6 Nov 2021
Machine Learning: Django vs Flask
1 project | reddit.com/r/Python | 2 Nov 2021
Rolex October AD Update
2 projects | reddit.com/r/rolex | 29 Oct 2021
I’ve also been working with Streamlit to build a dashboard for the pricing data. I’m hoping to have it up and running soon.
An interactive web app for creating timelapse from GOES weather satellites
3 projects | reddit.com/r/gis | 28 Oct 2021
The app was built using streamlit, geemap, and Earth Engine. Go to https://streamlit.gishub.org and select "Create Timelapse" from the sidebar menu. See a video demo here.
An interactive web app for creating Landsat timelapse (1984-2021)
3 projects | reddit.com/r/gis | 25 Oct 2021
An interactive web app for creating timelapse of annual Landsat imagery (1984-2021) for any location around the globe. Built using streamlit, geemap, and Google Earth Engine. See a video demo here. Go to the app link below and select "Create Timelapse" from the left sidebar menu.
Sharing results with other people
2 projects | reddit.com/r/JupyterNotebooks | 11 Oct 2021
This might be a good place to use something like streamlit (https://streamlit.io/). Turn you notebook into a script, have them upload the file (or have them enter a network path). Run your code over the file, and return the file. Streamlit can run on your local machine, or on some other local machine, or streamlit can host it
[D] Anyone used Gradio or Streamlit before?
2 projects | reddit.com/r/MachineLearning | 7 Oct 2021
Re: my previous post on communicating your ML work effectively. Someone directed me to Gradio and Streamlit and I'm curious to know people's experience with it and how valuable they find it.
UPDATE: Hey guys, I took your suggestions and reviewed my Jina meme search project using Spacy
2 projects | reddit.com/r/PythonProjects2 | 29 Sep 2021
I built a free tool using open source Jina and Streamlit to look through memes. A lot of you told me about incorrect and irrelevant search results and taking your suggestions, I built it again using a more expansive data set and a new indexer, Spacy
what is the best way to showcase your visualization work (dashboard) to prospective employers?
1 project | reddit.com/r/datascience | 28 Sep 2021
PostHog supporting seven open-source projects with Give Back Friday promotion
1 project | reddit.com/r/opensource | 26 Nov 2021
You can also find out more at posthog.com, if you're interested why we're doing this!
Open Source Analytics Stack: Bringing Control, Flexibility, and Data-Privacy to Your Analytics
15 projects | dev.to | 25 Nov 2021
The self-hosted PostHog (website, GitHub) is an excellent open-source alternative for product analytics and can be easily integrated into your infrastructure. You can easily analyze how customers interact with your product, the user traffic, and ways to improve your user retention.
Ask HN: What are you using for web analytics?
1 project | news.ycombinator.com | 17 Nov 2021
Ask HN: Who is hiring? (November 2021)
31 projects | news.ycombinator.com | 1 Nov 2021
PostHog is open-source product analytics. Graduated YC W20, we were the most popular B2B software HN launch since 2012. Our GitHub repo  has 4k stars and a growing and active community. We've raised significant funding with lots of runway and are growing quickly. We're 30 people and growing quickly.
We're looking for a Developer Educator, Customer Success Manager and senior engineers.
We have a culture of written async communication (see our handbook ), lots of individual responsibility and an opportunity to make a huge impact. Being fully remote means we're able to create a team that is truly diverse. We're based all over the world, and the team includes former YC founders, CTOs turned developers and recent grads.
8 Google Analytics Alternatives (Enterprise and Open Source)
5 projects | dev.to | 1 Nov 2021
What it is: PostHog is an open-source product analytics platform that works directly with your data warehouse and event pipeline to keep you in control of your customer data. It allows you to automatically track different events like clicks, page views, forms, and taps. With PostHog, you can create flexible dashboards to display your product performance metrics like purchases, sign-ups, and conversions. PostHog is excellent if you want to host yourself, with the option to move to the cloud, private cloud deployment, or even keep the data in your infrastructure.
Ask HN: How do you develop internal tools for your organization?
3 projects | news.ycombinator.com | 31 Oct 2021
TL;DR: manually added at first, and later added invite links and password-reset flows. Still invite based.
>Do you develop one single big application for everything in your organization, or few distinct applications, each with its own specific goal?
TL;DR: plugin system with a core that loads extensions at run-time. Each extension is its own separate repository. We could compose different products.
>Any specific thing to watch out for?
Yes, here we go...
Context: consultancy specialized in building end-to-end products for large enterprise. Around 17 people in 2018 working on about 8 projects simultaneously. CEO (co-founder) in one country and CTO (co-founder) in another country with the team. CTO quits a year and a half after I joined. Pretty much everyone quit after that except literally a handful. A colleague and I took over. We killed projects that were going nowhere, unstuck some, tightened the stack (it was Scala-Python-Spark-Kafka-Hadoop-Clojure-Vue-and what have you).
Problem: building end-to-end products for several sectors (telcos, energy, banking, transportation, health) meant that in addition to diving into different domains, acquiring data from peculiar data sources, and building the models, we also had to build bespoke "quick-no-time-for-reusability-one-off" applications that used these models and, in some cases, enabled domain experts at client organizations to train models themselves on new data. User authentication and administration, workspaces/groups, etc.
This also created a situation where I bumped into a university classmate founding a startup who described his problem, that was exactly the same as a problem we solved for a telco for which we built a product, but we were unable to sell him the product because it was custom-made. It sucked. He needed the exact same features but although they were contained, the containing application was too custom made.
The next project we took on, we wanted to change the way we develop product, and the way we worked. I remember the first few commits I made sure to set up a plugin architecture so we could have a minimal core that practically did nothing but load extensions dynamically, and all the functionality would be in these extensions with separate repositories so we could compose and add and remove to create different products.
Lesson: It should be as easy to remove things as it is to add things.
Next, in 2019, we started experimenting with remote work. It was painful to watch colleagues look at the window to check if their train arrived, or to arrive at the office at 11AM because commute sucked. They were wasting up to 6 hours per day in commute. We experimented with remote work one day a week and saw what broke and fixed it. Then two days a week. Then a whole week here and there. The rationale was the we may have to do it some day and we might as well learn the lessons right then when the stakes are low not to be taken by surprise when the stakes are higher.
In the meantime, my colleague (data scientist) had an obligation that put him away for one year. He could read emails but not reply, or open web pages due to the poor internet connection. This introduced a forcing function for asynchroneous communication, tracking, collaboration to be built into the internal platform. We were tired of not knowing which approaches generated the best models, and being unable to easily re-use work from previous projects.
The reason they were coming to the office was to train models on a "beefy machine", and it was ridiculous. The next thing to do was to enable our people to do their job remotely on our internal platform. We built a plugin that offered a notebook experience so they could run training jobs that required a GPU and large amounts of memory right from the comfort of their home.
Lesson: Just enough engineering and features to get the job done (that's the second important thing). No over building. Get the job to be done right from target users, and implement a slightly more generalized form of the problem while avoiding the "General Problem": https://xkcd.com/974. We're not DSL-creating-architecture-astronauts shooting off to far abstraction orbits.
We were only left with one data scientist who was already busy working on a project for a client and we lacked feedback from the people (one person, given the other was absent) we were building for. She taught a course at university and had around thirty students in a town that was hit hard by COVID. The university shut down and she asked me if the idea about enabling students to use the platform was still on the table because her students couldn't go to university anymore and use the machines, and practically none of them had, or could afford, a station with GPU/RAM requirements and it put their final year project in machine learning at risk. Here come our users, then. As I said, we needed users because we only had one user and she was busy.
We onboarded her students: we created their accounts (yes, no account resetting/forgot password flows), we created a Slack workspace for them, helped them troubleshoot and optimize their code, and guided them through getting the work done. We stayed late. They did two things:
- Discover issues we were not aware of.
- Put weight on the issues we were aware of in terms of frequency/impact (most important).
When the tenth user would complain about something, we knew we really needed to fix it:
- We added real-time collaboration in notebooks because they were taking pictures with their phone cameras of the screen and sending them on Slack to get help from their peers or from us.
- We added long-running notebook / scheduled background-execution in notebooks because there were resource conflicts: everyone trying to train a model at the same time and getting OOM errors, and users staying late to get resources.
Lesson: get initial users as soon as functionally possible. Ask questions. Ruthlessly prioritize issues according to frequency/gravity. Our issue templates on GitLab include an "Instances" section: how many times has this happened and how much does it suck? If it's an imaginary scenario, we won't do it now. If it's a minor inconvenience that happens rarely, we won't do it "now".
Action: add documentation (MkDocs: https://www.mkdocs.org )
Then we worked hard to fix a lot of bugs whose stack traces were buried in large logs.
Action: add application monitoring (Sentry here: https://sentry.io ) to prioritize bugs and issues. Add incident report templates to make it easier for people to fill them up (in addition to feature/bug templates).
Then we needed more feedback to accelerate and solve more generalized versions of the problems we were solving from professionals who were working on projects and problems we were unfamiliar with. Revamp the landing page, add a "Request access" field to get emails. Interact with people and try and get them to try the product. Listen also to why they wouldn't. Send invite links to people we chatted with...
Action: add analytics to see sticking points (PostHog: https://posthog.com )
When still nothing has happened (we still need feedback and more data points because we're too tiny), we started getting into more conversations with people in a more hands-on approach. Actively look for people online on several platforms and forums. I manually curated around 500 email addresses for whom I got the first name, last name, email address (from Twitter, keybase links to GitHub with `git log | grep Author`. Manually cloned a lot of repos to do that). Then instead of just sharing a link, I qualified early on: most of the professionals who are active in the field, engineers at companies, sometimes CTOs/CEOs (some of them in the middle of mergers and/or acquisitions) had the most useful feedback, got on calls, and wrote huge emails going deep into the product. AI enthusiasts/audience builders/medium writers/people tweeting about AI were often uncouth. The only way to know who was who was to qualify in the initial emails.
Lesson: talk with the right people. The right people are more knowledgeable, and those who did something with their life or built a product or a company understand the effort and have been way more generous and courteous.
Lesson: even though I started talking with people before and while we were building the product, and the product was for a problem and use cases we intimately know, I would have wanted to talk with people even earlier than that.
Lesson: sell the product early on (integrated with Stripe to be able to send invoices). Buying is honest feedback.
- APIs: everything you can do with point and click on the web interfact, you must be able to do with API calls.
- The service must be able to die without users being left scrambling to exfiltrate their data with an end of service email (derived from a personal one: I must be able to die without the team being impacted except for nostalgia).
- The site must be able to run on a Raspberry PI, but do the work with the right integrations to compute/storage/networking.
Open-source A/B testing framework - GrowthBook
4 projects | reddit.com/r/opensource | 27 Oct 2021
Hi, I'm one of the authors of GrowthBook. We're planning to take a similar approach to projects like PostHog and Metabase where there is a single optional directory using a proprietary enterprise license and everything else is using MIT (or AGPL in the case of Metabase). We want to limit those proprietary features to things that are only really useful to large enterprises who are going to want premium support contracts and SLAs etc. anyway. For everyone else, if you just delete that one directory the app will be fully usable and 100% FOSS.
Tracking the facebook instant game events
1 project | reddit.com/r/dataengineering | 24 Oct 2021
https://posthog.com/ seems like an interesting project I saw recently, planning on trialling it out in work
Building and measuring a sign up funnel with Supabase, Next.js, and PostHog
4 projects | dev.to | 21 Oct 2021
PostHog is an open-source product analtics platform with features including feature flags, session recording, analysis of trends, funnels, user paths, and more.
Product-led growth toolsets, what is your SaaS toolset stack?
1 project | reddit.com/r/SaaS | 20 Oct 2021
I like posthog.com as an open source / self-hosted alternative to mixpanel, since mixpanel can get crazy expensive. Also kelvindata.com is a good alternative to a lot of the data enrichment options out there. For email marketing I like to just use SendGrid, since they kinda offer everything and already use them for transactional email.
What are some alternatives?
PyWebIO - Write interactive web app in script way.
PySimpleGUI - Launched in 2018 Actively developed & supported. Supports tkinter, Qt, WxPython, Remi (in browser). Create custom GUI Windows simply, trivially with a full set of widgets. Multi-Window applications are also simple. Python 2.7 & 3 Support. 325+ Demo programs & Cookbook for rapid start. Extensive documentation. Examples using Machine Learning(GUI, OpenCV Integration, Chatterbot), Desktop Widgets (Rainmeter-like), Matplotlib + Pyplot integration, add GUI to command line scripts, PDF & Image Viewer. For both beginning and advanced programmers. docs - PySimpleGUI.org GitHub - PySimpleGUI.com. Create complex windows simply.
superset - Apache Superset is a Data Visualization and Data Exploration Platform
Snowplow - The enterprise-grade behavioral data engine (web, mobile, server-side, webhooks), running cloud-natively on AWS and GCP
datapane - Datapane is the easiest way to create data science reports from Python.
react-virtualized - React components for efficiently rendering large lists and tabular data
wave - Realtime Web Apps and Dashboards for Python and R
Matomo - Liberating Web Analytics. Star us on Github? +1. Matomo is the leading open alternative to Google Analytics that gives you full control over your data. Matomo lets you easily collect data from websites & apps and visualise this data and extract insights. Privacy is built-in. We love Pull Requests!
panel - A high-level app and dashboarding solution for Python
Rudder - Privacy and Security focused Segment-alternative, in Golang and React
DearPyGui - Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies