marshmallow dependency?
vladyslav2 opened this issue · comments
Hey!
First of all, really great, clean and promising project
But you have few dependencies which kind of breaking deal for small projects, like my:
- marshmallow and also I found some dependency on dotenv package https://github.com/sloria/environs/blob/master/environs/__init__.py#L16
Do you have any plans, or do you need any help with using python 3.7 typing system and throw marshmallow as a dependency?
With microservice infrastructure, when you have 3-4 dependencies in total, we would like not to use packages with some heavy external dependencies
Thank you
I don't have plans to drop marshmallow. It is a core piece of environs as it does all the validation and deserialization--dropping it would result in a lot of duplicated code and effort.
FWIW, marshmallow itself is quite a small dependency: ~1K LOC with no dependencies of its own.
We could make dotenv optional, but I think most environs users use env.read_env
, so dropping it would hurt those users.
do you need any help with using python 3.7 typing system
There is some discussion of how to accomplish this in #186 .
@vladyslav2 I might be a bit late here, but FYI I had the same requirements once in the past (minimal dependencies and type annotations) so came up with typenv. You might want to have a look. The API is smaller, so it might not do everything you need though...