Files
pydantic/setup.cfg
T
Connor 730d84217d allow use of a .env-style files in BaseSettings (#607) (#1011)
* allow use of a `.env`-style files in BaseSettings (#607)

* address various issues with initial implementation

- allow specifying `_env_file` kwarg in instantiation
  * overrides any `env_file` specified in the `Config` class
- cast `os.environ` as a dict for better consistenty of behavior
- `env_path` should be a `Path` type
- replace `with open()` with `read_text`
- use regex for parsing the dotenv files and throw error on invalid line
- factor out `read_env_file` into separate file for easier testing

* move back into a single file; revert typing changes; use regex better

* pass `_env_file` argument around instead of setting a class attribute

* add dotenv docs

* add dotenv tests

* Add changes file

* Flesh out the docs a bit

* Apply suggestions from @samuelcolvin's code review

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>

* wrap docs

* add not about priority

* fix tests and imports

* fix tests

* switch to python-dotenv

* cleanup, test example

* more docs tweaks

* typo

* fix tests for dotenv

Co-authored-by: Samuel Colvin <samcolvin@gmail.com>
2020-01-19 16:45:36 +00:00

66 lines
1.3 KiB
INI

[tool:pytest]
testpaths = tests
timeout = 10
filterwarnings =
error
ignore::DeprecationWarning:distutils
[flake8]
max-line-length = 120
max-complexity = 14
inline-quotes = '
multiline-quotes = """
ignore = E203, W503
[bdist_wheel]
python-tag = py36.py37.py38
[coverage:run]
source = pydantic
branch = True
[coverage:report]
precision = 2
exclude_lines =
pragma: no cover
raise NotImplementedError
raise NotImplemented
if TYPE_CHECKING:
@overload
[isort]
line_length=120
known_first_party=pydantic
known_standard_library=dataclasses
multi_line_output=3
include_trailing_comma=True
force_grid_wrap=0
combine_as_imports=True
[mypy]
follow_imports = silent
strict_optional = True
warn_redundant_casts = True
warn_unused_ignores = True
disallow_any_generics = True
check_untyped_defs = True
no_implicit_reexport = True
warn_unused_configs = True
disallow_subclassing_any = True
disallow_incomplete_defs = True
disallow_untyped_decorators = True
disallow_untyped_calls = True
# for strict mypy: (this is the tricky one :-))
disallow_untyped_defs = True
# remaining arguments from `mypy --strict` which cause errors
;no_implicit_optional = True
;warn_return_any = True
[mypy-email_validator]
ignore_missing_imports = true
[mypy-dotenv]
ignore_missing_imports = true