Python's cryptography package introduced build time dependency to Rust in 3.4, breaking a lot of Alpine users in CI

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/rust

Our great sponsors
  • talent.io - Download talent.io’s Tech Salary Report
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Scout APM - Truly a developer’s best friend
  • cryptography

    cryptography is a package designed to expose cryptographic primitives and recipes to Python developers.

    I'm mostly just happy to see that Rust is finding its way into widely used Python packages even if it seems to be just a test for now judging from the lib.rs file.

  • rustc_codegen_gcc

    libgccjit AOT codegen for rustc (by antoyo)

    It depends on the specific design and on your perspective. rustc_codegen_gcc is an attempt to combine the existing rustc frontend with GCC, so it could be considered either a GCC backend for rustc or a rustc frontend for GCC. Perhaps "backend" is a bit more accurate since rustc is the main process and is driving GCC as a library. But gccrs is an attempt to write a frontend from scratch, so it could only be considered a Rust frontend for GCC (or GCC frontend for Rust - the order doesn't really matter). When I said "GCC frontend" I meant to encompass both approaches.

  • talent.io

    Download talent.io’s Tech Salary Report. Median salaries, most in-demand technologies, state of the remote work... all you need to know your worth on the market by tech recruitment platform talent.io

  • gccrs

    GCC Front-End for Rust

  • semver

    Semantic Versioning Specification

    Semver only applies to public APIs. https://semver.org/ says the following.

  • rust

    Empowering everyone to build reliable and efficient software.

    If rustc supported compiling to C, it could add a mode that automatically runs the C compiler on the output, resulting in the same interface as a native port of rustc, just a bit slower. This could work with not only GCC, but any C compiler. Targeting a platform where the official compiler is some antiquated fork of GCC or proprietary fork of Clang, or perhaps a completely proprietary compiler? Having issues with LLVM version incompatibilities when submitting bitcode to Apple's App Store? Or perhaps you want to compare the performance of LLVM, GCC, Intel's C compiler, and MSVC? Going through C would solve all those problems.

  • Poetry

    Python packaging and dependency management made easy

    I still use python a bit and find poetry quite nice. It has a lot of similarities to cargo including using the new pyproject.toml file (like Cargo.toml) and handles virtual environments with a lockfile for direct and transitive dependencies.

  • Nim

    Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

    Also note that this is a well trodden path—the original C++ compiler cfront compiled to C. More recently, Nim compiles to C (and supports full source level debugging).

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts