microservices-demo/src/emailservice
Dustin Ingram aaf2f8717d Simplify package management for python services (#120)
This PR does a few things:

1. **Removes unnecessary Python dependencies currently being installed for `emailservice`**

    There are quite a few packages being installed that aren't actual dependencies.

2. **Removes a number of related, also unnecessary system-level dependencies for `emailservice`**

    These were a result of the Python dependencies that are unnecessary.

3. **Pins all of the sub-dependencies for `loadgenerator`**

    This is good practice to ensure that things don't break one day in the future when a newer version of an unpinned sub-dependenency is released.

4. **Compile all Python dependencies from `requirements.in` files**

    This is mostly bookkeeping. It allows us to only specify the top-level dependencies we care about in the requirements.in files, which are then compiled to frozen dependencies in the requirements.txt files. This ensures that we only install the dependencies we need, and that we're not missing any unpinned sub-dependencies. It also makes it more clear where our sub-dependencies are coming from.

5. **Switch to -slim images from -alpine**

    Python's built distribution format (wheel) is incompatible with alpine-based images, causing dependencies like `grpcio` to be compiled from scratch, rather than from a pre-built wheel.

    This should improve or possibly fi​x #58, while keeping the image size roughly the same:

    ```
    emailservice          latest           d1b818eabe05        6 seconds ago       286MB
    loadgenerator         latest           4d9b5acbfbbb        6 seconds ago       125MB
    ```
2019-01-11 14:59:27 -08:00
..
templates Add emailservice 2018-07-24 21:08:29 -07:00
Dockerfile Simplify package management for python services (#120) 2019-01-11 14:59:27 -08:00
demo_pb2.py Add LICENSE headers to source files 2018-07-25 09:54:28 -07:00
demo_pb2_grpc.py Add LICENSE headers to source files 2018-07-25 09:54:28 -07:00
email_client.py Re-enable opencensus python (#103) 2018-12-11 16:15:51 -08:00
email_server.py Re-enable opencensus python (#103) 2018-12-11 16:15:51 -08:00
genproto.sh Add LICENSE headers to source files 2018-07-25 09:54:28 -07:00
logger.py log: change log format to JSON payload for better log in Stackdriver (#66) 2018-10-05 11:23:45 -07:00
requirements.in Simplify package management for python services (#120) 2019-01-11 14:59:27 -08:00
requirements.txt Simplify package management for python services (#120) 2019-01-11 14:59:27 -08:00