baseplate.go VS baseplate.py

Compare baseplate.go vs baseplate.py and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
baseplate.go baseplate.py
7 11
89 529
- 0.0%
6.6 8.5
13 days ago 6 days ago
Go Python
BSD 3-clause "New" or "Revised" License BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

baseplate.go

Posts with mentions or reviews of baseplate.go. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-28.
  • Just In Time Image Optimization at Reddit Scale
    3 projects | /r/RedditEng | 28 Jun 2023
    We chose to use govips which is a cgo wrapper around the libvips image manipulation library. The majority of new development for services in our backend is written using baseplate.go. But Go is not an ideal choice for media processing as it cannot keep up with the performance of native code. The most widely used image-processing libraries like libmagick are primarily written in C or C++. Speed was a major factor in selecting libvips in order to keep latency low on CDN cache misses for images. In our tests, libvips was 3–4 times faster than libmagick on basic image processing operations. Content-aware smart cropping was implemented by porting smartcrop.js to Go. This is the only operation implemented in pure Go.
  • Python use by SWEs
    2 projects | /r/cscareerquestions | 7 May 2023
    Even Reddit has python backends https://github.com/reddit/baseplate.py based on Pyramid. They also have a go one. https://github.com/reddit/baseplate.go
  • Reddit System Design/Architecture
    5 projects | /r/redditdev | 19 Mar 2023
    there's a multitude of services in reddit's architecture. as far as i can tell, they mostly using reddit's baseplate framework (which has implementations in both python and go).
  • 3 of the top 5 fastest web frameworks are written in Rust! (#1, #3 and #5)
    4 projects | /r/rust | 15 Aug 2022
    FWIW, I believe Reddit has rewritten some Python into Go because of scaling issues. I don't know of any public write ups to confirm it, but at the least there's a public repo that contains their base template.
  • How do you maintain quality of code in a Go project?
    4 projects | /r/golang | 20 Mar 2022
  • Evolving Reddit’s ML Model Deployment and Serving Architecture
    3 projects | /r/RedditEng | 4 Oct 2021
    Gazette Inference Service is a baseplate.go (Reddit’s golang web services framework) thrift service whose single responsibility is serving ML inference requests to it’s clients. It is deployed with Reddit’s modern kubernetes infrastructure.
  • Deadline Budget Propagation for Baseplate.py
    3 projects | /r/RedditEng | 27 Sep 2021
    Baseplate is implemented in Python and Go, and although they share the same main functionality, smaller features differ between the two. One such feature that was previously on the Go implementation but not Python was deadline budget propagation, which passes on the remaining timeout available from the initial client request all the way through the server and any other requests that may follow. The lack of this feature in Baseplate.py meant that many resources were being wasted by servers doing unnecessary work, despite clients no longer awaiting their response due to timeout.

baseplate.py

Posts with mentions or reviews of baseplate.py. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-12.
  • The .zip TLD sucks and it needs to be immediately revoked.
    4 projects | /r/programming | 12 May 2023
    Almost any download link on the internet (for example an attachment to any Wordpress blog post) could serve as an example. Since we are on a programming subreddit let's use Github as an example. When you open a repository and click the "Download ZIP" button it's a link straight to an URL like this one: https://github.com/reddit/baseplate.py/archive/refs/heads/develop.zip (this particular one is for Reddit's Python library).
  • Python use by SWEs
    2 projects | /r/cscareerquestions | 7 May 2023
    Even Reddit has python backends https://github.com/reddit/baseplate.py based on Pyramid. They also have a go one. https://github.com/reddit/baseplate.go
  • Reddit System Design/Architecture
    5 projects | /r/redditdev | 19 Mar 2023
    there's a multitude of services in reddit's architecture. as far as i can tell, they mostly using reddit's baseplate framework (which has implementations in both python and go).
  • Reddit Recap Series: Backend Performance Tuning
    4 projects | /r/RedditEng | 13 Mar 2023
    Finally, the problem that we didn’t experience directly, but it was mentioned during consultations with another team that had experience with pgBouncer: the Baseplate.py framework that both of us are using sometimes leaked the connections, leaving them open after the request, but not returning them back into the pool.
  • What is an example of a fully finished python software product on github?
    3 projects | /r/learnprogramming | 4 Jul 2022
  • Is the Pyramid framework dead?
    9 projects | /r/Python | 6 Dec 2021
    Also reddit team using pyramid for services https://github.com/reddit/baseplate.py
  • is flask only for "smaller" projects or it can also be used for large scalable projects ?
    2 projects | /r/flask | 23 Oct 2021
    Reddit is built on neither Flask nor Django. The old monolith predates Flask and Django and is built on its own framework. Our new microservices are built on our Baseplate.py framework.
  • Evolving Reddit’s ML Model Deployment and Serving Architecture
    3 projects | /r/RedditEng | 4 Oct 2021
    Minsky is an internal baseplate.py (Reddit’s python web services framework) thrift service owned by Reddit’s Machine Learning team that serves data or derivations of data related to content relevance heuristics — such as similarity between subreddits, a subreddits topic or a users propensity for a given subreddit — from various data stores such as Cassandra or in process caches. Clients of Minsky use this data to improve Redditor’s experiences with the most relevant content. Over the last few years a set of new ML capabilities, referred to as Gazette, were built into Minsky. Gazette is responsible for serving ML model inferences for personalization tasks along with configuration based schema resolution and feature fetching / transformation.
  • Deadline Budget Propagation for Baseplate.py
    3 projects | /r/RedditEng | 27 Sep 2021
    Baseplate is implemented in Python and Go, and although they share the same main functionality, smaller features differ between the two. One such feature that was previously on the Go implementation but not Python was deadline budget propagation, which passes on the remaining timeout available from the initial client request all the way through the server and any other requests that may follow. The lack of this feature in Baseplate.py meant that many resources were being wasted by servers doing unnecessary work, despite clients no longer awaiting their response due to timeout.
  • Solving The Three Stooges Problem
    3 projects | /r/RedditEng | 1 Jul 2021
    In order to make this solution work, you’ll need a web stack that can handle many concurrent requests. Reddit’s stack for most microservices is Python 3, Baseplate, and gevent. Django/Flask also work well when run with gevent. gevent is a Python library that transparently enables your microservice to handle high concurrency and I/O without requiring changes to your code. It is the secret sauce that allows you to run tens of thousands of pseudo-threads called greenlets (one per concurrent request) on a small number of instances. It allows for threads handling concurrent duplicate requests to be enqueued while waiting to acquire the lock, and then for those queues to be drained as threads acquire the lock and execute serially, all without exhausting the thread pool.

What are some alternatives?

When comparing baseplate.go and baseplate.py you can also consider the following projects:

Apache Thrift - Apache Thrift

xhtml2pdf - A library for converting HTML into PDFs using ReportLab

markup.rs - A blazing fast, type-safe template engine for Rust.

Pyramid - Pyramid - A Python web framework

rtv - Browse Reddit from your terminal

pottery - Redis for humans. 🌎🌍🌏

redsync - Distributed mutual exclusion lock using Redis for Go

cornice - Build Web Services with Pyramid.

Reddit

SQLAlchemy - The Database Toolkit for Python

Sentry - Developer-first error tracking and performance monitoring