python-dotenv VS quote

Compare python-dotenv vs quote and see what are their differences.

python-dotenv

Reads key-value pairs from a .env file and can set them as environment variables. It helps in developing applications following the 12-factor principles. (by theskumar)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
python-dotenv quote
27 3
7,104 1,219
- -
5.7 7.3
18 days ago 9 days ago
Python Rust
BSD 3-clause "New" or "Revised" License Apache License 2.0
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.

python-dotenv

Posts with mentions or reviews of python-dotenv. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-03.

quote

Posts with mentions or reviews of quote. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-06.
  • C++ vs. Rust Build Times
    12 projects | news.ycombinator.com | 6 Jan 2023
    A surprising source of slow compile times can be declarative macros in Rust [0].

    I believe the core of the problem is that it has to reparse the code to pattern match for the macro.

    One egregious patter is tt-munchers [1] where your macro is implemented recursively, requiring it to reparse the source on each call [2].

    In one of my projects, someone decided to wrap a lot of core functions in simple macros (ie nt tt-munchers) to simplify the signatures. Unlike most macros which are used occasionally and have small inputs, this was a lot of input. When I refactored the code, I suspect dropping the macros is the reason CI times were cut in half and a clean `cargo check` went from 3s to 0.5s.

    [0]: https://nnethercote.github.io/2022/04/12/how-to-speed-up-the...

    [1]: https://veykril.github.io/tlborm/decl-macros/patterns/tt-mun...

    [2]: https://github.com/dtolnay/quote/blob/31c3be473d0457e29c4f47...

  • Is generating code from JSON a good macro use case?
    3 projects | /r/rust | 1 Feb 2022
    In the build.rs, call your code generation function (probably in a separate crate added in build-dependencies). This function will read your input files, and use something like quote to generate code.
  • Any good resources for learning Rust macros?
    7 projects | /r/rust | 19 Dec 2021
    Or you can pair them with crates like syn, and quote for quasi-quoting, and then it's easy to make transformations on the AST of Rust input code. A lot of libraries do this for code-generation and hiding away a lot of complexity (example wasm-bindgen).

What are some alternatives?

When comparing python-dotenv and quote you can also consider the following projects:

python-decouple - Strict separation of config from code.

cargo-expand - Subcommand to show result of macro expansion

django-environ - Django-environ allows you to utilize 12factor inspired environment variables to configure your Django application.

proc-macro-workshop - Learn to write Rust procedural macros  [Rust Latam conference, Montevideo Uruguay, March 2019]

ConfigParser

Bytecode - A Rust proc-macro crate which derives functions to compile and parse back enums and structs to and from a bytecode representation

django-dotenv - Loads environment variables from .env

component-keycloak - Commodore Component for Keycloak

dynaconf - Configuration Management for Python ⚙

darling - A Rust proc-macro attribute parser

hydra - Hydra is a framework for elegantly configuring complex applications

hickory - Command line tool for scheduling Python scripts