CPython

The Python programming language (by python)

CPython Alternatives

Similar projects and alternatives to CPython

  1. Visual Studio Code

    Visual Studio Code

  2. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  3. rust

    2,917 CPython VS rust

    Empowering everyone to build reliable and efficient software.

  4. go

    2,347 CPython VS go

    The Go programming language

  5. React

    1,997 CPython VS React

    The library for web and native user interfaces.

  6. TypeScript

    1,476 CPython VS TypeScript

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

  7. node

    1,298 CPython VS node

    Node.js JavaScript runtime βœ¨πŸ’πŸš€βœ¨

  8. Flutter

    1,274 CPython VS Flutter

    Flutter makes it easy and fast to build beautiful apps for mobile and beyond

  9. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  10. kubernetes

    Production-Grade Container Scheduling and Management

  11. git

    A fork of Git containing Windows-specific patches. (by git-for-windows)

  12. fastapi

    573 CPython VS fastapi

    FastAPI framework, high performance, easy to learn, fast to code, ready for production

  13. Django

    549 CPython VS Django

    The Web framework for perfectionists with deadlines.

  14. PostgreSQL

    Mirror of the official PostgreSQL GIT repository. Note that this is just a *mirror* - we don't work with pull requests on github. To contribute, please see https://wiki.postgresql.org/wiki/Submitting_a_Patch

  15. Pandas

    431 CPython VS Pandas

    Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more

  16. julia

    376 CPython VS julia

    The Julia Programming Language

  17. PHPT

    320 CPython VS PHPT

    The PHP Interpreter

  18. warehouse

    312 CPython VS warehouse

    The Python Package Index

  19. ruby

    205 CPython VS ruby

    The Ruby Programming Language

  20. MySQL

    194 CPython VS MySQL

    MySQL Server, the world's most popular open source database, and MySQL Cluster, a real-time, open source transactional database.

  21. google-cloud-cpp

    C++ Client Libraries for Google Cloud Services

  22. countwords

    Discontinued Playing with counting word frequencies (and performance) in various languages.

  23. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better CPython alternative or higher similarity.

CPython discussion

  1. User avatar
    furkanonder
    Β· about 1 year ago
    Β· Reply

    Review β˜…β˜…β˜…β˜…β˜… 10/10

  2. User avatar
    79e0b4bc
    Β· over 1 year ago
    Β· Reply

    Review β˜…β˜…β˜…β˜…β˜† 7/10

    Python taught me that programming doesn't need to be difficult. As a language designer I always aspire for most things to just be as simple as a Python app.

  3. User avatar
    e123459c
    Β· over 1 year ago
    Β· Reply

    Review β˜…β˜…β˜…β˜…β˜… 10/10

  4. User avatar
    0xRake
    Β· over 1 year ago
    Β· Reply

    Review β˜…β˜…β˜…β˜…β˜… 10/10

CPython reviews and mentions

Posts with mentions or reviews of CPython. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-12-13.
  • What's New in Python 3.15
    1 project | news.ycombinator.com | 21 Dec 2025
    Here's the relevant diff: https://github.com/python/cpython/pull/137968/files#diff-966...

    Search is limited to 20 attributes and non-descriptors only to avoid arbitrary code execution.

    I assume constructing AttributeErrors isn't highly performance sensitive.

  • Ask HN: How do you handle release notes for multiple audiences?
    3 projects | news.ycombinator.com | 13 Dec 2025
    If there is an audience for release notes I haven't seen anything better than just committing entries to pre-release folder as you change things and have release automation compile the folder into the actual release notes. Python and many other large projects handle it like this: https://github.com/python/cpython/tree/main/Misc/NEWS.d/next (The release notes for major releases are crafted manually)
  • Guide - Audio Modding of "Arena of Valor"
    6 projects | dev.to | 5 Dec 2025
    Python Software Foundation. Python Programming Language. https://www.python.org/
  • How to Send an Email in Python
    1 project | dev.to | 4 Dec 2025
    import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders # SMTP Server details port = 587 smtp_server = "smtp.sendlayer.net" username = "paulie" # Your username generated by SendLayer password = "sendlayer_smtp_password" # Your password generated by SendLayer sender_email = "paulie@example.com" receiver_email = "johndoe@example.com" # Email content subject = "Email Example with Attachment" html_message = """\ Hi, This is a test email sent from "https://www.python.org">Python using "https://sendlayer.com">SendLayer's SMTP server The email also includes an attachment """ # Create a multipart message and set headers message = MIMEMultipart() message["From"] = sender_email message["Subject"] = subject message["To"] = receiver_email # Attach the HTML part message.attach(MIMEText(html_message, "html")) # Specify the file path for the attachment filename = "./path/to/attachment/file.pdf" # Change this to the correct path # Open the file in binary mode with open(filename, "rb") as attachment: part = MIMEBase("application", "octet-stream") part.set_payload(attachment.read()) # Encode file in ASCII characters to send by email encoders.encode_base64(part) # Add header as key/value pair to attachment part part.add_header("Content-Disposition", f"attachment; filename= {filename}") # Add attachment to message message.attach(part) # Send the email with smtplib.SMTP(smtp_server, port) as server: server.starttls() server.login(username, password) server.sendmail(sender_email, receiver_email, message.as_string()) print('Email sent successfully')
  • Python Concurrency: A Guide to Threads, Processes, and Asyncio
    3 projects | dev.to | 25 Nov 2025
    import requests from concurrent.futures import ThreadPoolExecutor URLS = [ "https://www.python.org/", "https://www.djangoproject.com/", "https://flask.palletsprojects.com/", ] def fetch_url(url: str): print(f"Fetching {url}...") response = requests.get(url) print(f"Fetched {url} with status {response.status_code}") return len(response.content) with ThreadPoolExecutor(max_workers=5) as executor: # The map function runs `fetch_url` for each item in URLS results = executor.map(fetch_url, URLS) for url, length in zip(URLS, results): print(f"URL: {url}, Length: {length}")
  • Type hints in Python (4)
    2 projects | dev.to | 25 Nov 2025
    Use KeysView and ValuesView instead of dict_keys and dict_values respectively because type checkers don't support dict_keys and dict_values in _collections_abc.
  • Optimize Python Sorting with One Little Trick
    1 project | dev.to | 19 Nov 2025
    According to the benchmark in the PR that introduced this optimization, sorting a list that consists only of floats rather than a list of floats with even a single integer at the end is almost twice as fast.
  • How to Use UUIDv7 in Python, Django and PostgreSQL
    1 project | news.ycombinator.com | 15 Nov 2025
    If you want to a UUIDv7 key for partitioning your table by date (e.g., one partition per day or month), you need to be able to compute the partition range via the minimal UUIDv7 for a given date.

    There is some discussion whether or not to add helpers for this to Pythonβ€˜s uuid7 module: https://github.com/python/cpython/issues/130843#issuecomment...

  • How often does Python allocate?
    4 projects | news.ycombinator.com | 1 Nov 2025
    With respect to tagged pointers, there seems to be some recent movements on that front in CPython: https://github.com/python/cpython/issues/132509
  • Python: Is_dir() returns False when called from a path.relative_to(root) result
    1 project | news.ycombinator.com | 25 Oct 2025
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 22 Dec 2025
    InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more β†’

Stats

Basic CPython repo stats
1555
70,331
10.0
7 days ago

Sponsored
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io

Did you know that Python is
the 2nd most popular programming language
based on number of references?