Allow overwrite value by None if already defined

Open
#315 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 12 days

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
devops

Research direction

Start at the load_dotenv entry point and trace how a later file is handled when myVar is absent versus explicitly set to an empty value. Compare the two scenarios in the issue, then verify that loading .envA removes the earlier value and returns None when myVar is not defined there.

Written by the indexing model from the issue text.

Description

I have 2 dotenv files:

Scenario1:
/var/www/flask/.envRoot <---- myVar="foo"
and
/home/userA/.envA <----------- myVar="bar"

load_dotenv(dotenv_path='/var/www/flask/.envRoot',override=True)
os.getenv('myVar')   #  foo
load_dotenv(dotenv_path='/home/userA/.envA',override=True)
os.getenv('myVar')   #  bar

Scenario2:
/var/www/flask/.envRoot <---- myVar="foo"
and
/home/userA/.envA <----------- myVar not defined

load_dotenv(dotenv_path='/var/www/flask/.envRoot',override=True)
os.getenv('myVar')   #  foo
load_dotenv(dotenv_path='/home/userA/.envA',override=True)
os.getenv('myVar')   #  foo

Scenario1 work as spected, but Scenario2 should return None if do not exist on .envA because i explicitly indicate the file to look at. But this do not happen if the key exist e.g: myVar=, only if not defined.

Dominant language
Python
Stars
8.9k
Forks
618
Avg merge
12d 6m
Merged PRs (30d)
3

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from theskumar/python-dotenv

All issues in theskumar/python-dotenv

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.