sloria / environs

simplified environment variable parsing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

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...