{ "info": { "author": "Till Hoffmann", "author_email": "till@spotify.com", "bugtrack_url": null, "classifiers": [], "description": "# Docker Interface [![Build Status](https://travis-ci.org/spotify/docker_interface.svg?branch=master)](https://travis-ci.org/spotify/docker_interface) ![Development Status](https://img.shields.io/badge/status-beta-orange.svg)\n\nDocker Interface (DI) is a declarative interface for building images and running commands in containers using Docker. At Spotify, we use Docker Interface to minimise environment drift by running all of our code in containers\u2013during development, production, or to train machine learning models.\n\n## Installing Docker Interface\n\nYou can install Docker Interface using the following `pip` command (you need a python3 interpreter).\n\n```\npip install docker-interface\n```\n\nTo check that Docker Interface was installed successfully, run\n```\ndi --help\n```\n\n## Using Docker Interface\n\nDocker Interface can be invoked from the command line. By default, it reads the configuration from the file `di.yml` in the current working directory, a basic version of which is shown below.\n\n```yaml\nbuild:\n tag: name-of-your-container\n```\n\nDocker interface supports two commands:\n\n* `build` builds and tags Docker image using the current working directory as the build context.\n* `run` runs a Docker command in a container and mounts the current working directory with appropriate permissions at `/workspace` so you can access your local files without having to rebuild the image.\n\nYou can find more extensive examples in the [`examples` folder](https://github.com/spotify/docker_interface/tree/master/examples) in this repository. You can find more detailed information [here](http://docker-interface.readthedocs.io/en/latest/). Check the [schema](http://docker-interface.readthedocs.io/en/latest/schema.html) to get a comprehensive overview of the declarative syntax supported by Docker Interface.\n\n## Contributing to Docker Interface\n\nTo contribute to the development of Docker Interface, please create a [fork](https://help.github.com/articles/fork-a-repo/) of the repository and send any changes as a pull request.\n\nYou can test your local installation of Docker Interface as follows.\n\n```\n# 0. Set up a virtual environment (optional but recommended)\n# 1. Install development requirements\npip install -r requirements.txt\n# 2. Run the tests\nmake tests\n```\n\nSee [`virtualenv`](https://virtualenv.pypa.io/en/stable/) or [`conda`](https://conda.io/docs/) for details on how to set up a virtual environment in step 0.\n\n## Code of conduct\n\nThis project adheres to the [Open Code of Conduct](https://github.com/spotify/code-of-conduct/blob/master/code-of-conduct.md). By participating, you are expected to honour this code.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/spotify/docker_interface", "keywords": "", "license": "License :: OSI Approved :: Apache Software License", "maintainer": "", "maintainer_email": "", "name": "docker-interface", "package_url": "https://pypi.org/project/docker-interface/", "platform": "", "project_url": "https://pypi.org/project/docker-interface/", "project_urls": { "Homepage": "https://github.com/spotify/docker_interface" }, "release_url": "https://pypi.org/project/docker-interface/0.4.2/", "requires_dist": null, "requires_python": "", "summary": "Declarative interface for building images and running commands in containers using Docker.", "version": "0.4.2" }, "last_serial": 5914059, "releases": { "0.2.10": [ { "comment_text": "", "digests": { "md5": "89cd255742b6e0f95678f3b851e4516d", "sha256": "c6a5faa7835eb111c0803d82dd083d45752222438c8c3f9ac2fa1fe1337dcc24" }, "downloads": -1, "filename": "docker_interface-0.2.10.tar.gz", "has_sig": false, "md5_digest": "89cd255742b6e0f95678f3b851e4516d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14163, "upload_time": "2018-05-08T15:38:03", "url": "https://files.pythonhosted.org/packages/58/4e/406e434f7d246558f3f6aa18e6da040e4cb77c756b4f353368d6e50c1228/docker_interface-0.2.10.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "093fea06c583f8f9c7a03cbe9452a757", "sha256": "1f81219fdb56815e2aba442504e43da616bf4857d257b8681161120000545296" }, "downloads": -1, "filename": "docker_interface-0.2.11.tar.gz", "has_sig": false, "md5_digest": "093fea06c583f8f9c7a03cbe9452a757", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14221, "upload_time": "2018-06-05T14:10:20", "url": "https://files.pythonhosted.org/packages/ea/54/ecb083f04a5877730600362f326916e685847b365935c19ca348a97161fc/docker_interface-0.2.11.tar.gz" } ], "0.2.12": [ { "comment_text": "", "digests": { "md5": "1fb4888b54d33f55c3477d7043891593", "sha256": "da96fb080305cebca7b60a0ffcc08a9c24c8bf2872f91a9aae68183dfbcba9f2" }, "downloads": -1, "filename": "docker_interface-0.2.12.tar.gz", "has_sig": false, "md5_digest": "1fb4888b54d33f55c3477d7043891593", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14228, "upload_time": "2018-07-30T11:45:00", "url": "https://files.pythonhosted.org/packages/14/00/36bebdf4315812ec9133c3ff30a8370c8b5e2d5e8b2d696c19b6e18f0ab6/docker_interface-0.2.12.tar.gz" } ], "0.2.13": [ { "comment_text": "", "digests": { "md5": "74e85ab7622342a0ff71ee313f7aafbc", "sha256": "2bcf2a8ead3ab7bce52aa255006c36668f4909101db6af9d51ec6d4cd3c50b05" }, "downloads": -1, "filename": "docker_interface-0.2.13.tar.gz", "has_sig": false, "md5_digest": "74e85ab7622342a0ff71ee313f7aafbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14211, "upload_time": "2018-08-20T17:03:34", "url": "https://files.pythonhosted.org/packages/65/2f/d35f22c28de0848d0ad2397cdb5c504138a82e85befa66cd4caeee6d8df9/docker_interface-0.2.13.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "7ece06802e3efc80b018c71318a21ce0", "sha256": "77da1935b1c3c35d1048b0bb8e62c553fc3096fdc420a67f599c62c2ef089c42" }, "downloads": -1, "filename": "docker_interface-0.2.7.tar.gz", "has_sig": false, "md5_digest": "7ece06802e3efc80b018c71318a21ce0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13590, "upload_time": "2018-03-09T13:23:31", "url": "https://files.pythonhosted.org/packages/b7/8e/e9314ad5be30c6821f765a31792fdf6958c6f0b13751f43894873a73158b/docker_interface-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "50dcb2a2f886f93cfbfab44a8e7d3c51", "sha256": "e97692f5f80349f364bcbcb9a368381c1aa09fb086b75c80a6591b2980cc2c7e" }, "downloads": -1, "filename": "docker_interface-0.2.8.tar.gz", "has_sig": false, "md5_digest": "50dcb2a2f886f93cfbfab44a8e7d3c51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13880, "upload_time": "2018-03-19T12:08:19", "url": "https://files.pythonhosted.org/packages/95/f9/d16c6c2f0c5bd414fa7db912470ee762b7ec7ec55e9963cf484e85cd6b61/docker_interface-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "3aaa6034b90e0834a3960d4efc81b4d5", "sha256": "248f446af053192d0c74745566824eda476ee7eee10bb70be7586bec38a78e07" }, "downloads": -1, "filename": "docker_interface-0.2.9.tar.gz", "has_sig": false, "md5_digest": "3aaa6034b90e0834a3960d4efc81b4d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13798, "upload_time": "2018-05-04T15:29:08", "url": "https://files.pythonhosted.org/packages/e0/30/d750aa88eea22686d615acfa36051130de459732bd69385579321b508b1c/docker_interface-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "7f8bc0697ee42980637e7d3fe01c854e", "sha256": "98cc41c5c8c6fceb0bcc1d0e09d112ffd50f7701d6e00856e1bb8e2399fefeb8" }, "downloads": -1, "filename": "docker_interface-0.3.0.tar.gz", "has_sig": false, "md5_digest": "7f8bc0697ee42980637e7d3fe01c854e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14235, "upload_time": "2018-11-15T13:23:05", "url": "https://files.pythonhosted.org/packages/1d/66/83e9c47896c228170a2e939bd623c5f15181ac1bb1e672ddf19fea13ff4f/docker_interface-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "79115972851359c6fbc3e6f781d638ed", "sha256": "364645826c28a26262a7597bd2c6020459df4effc17703c296f86829bd6cdf55" }, "downloads": -1, "filename": "docker_interface-0.4.0.tar.gz", "has_sig": false, "md5_digest": "79115972851359c6fbc3e6f781d638ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14260, "upload_time": "2019-02-14T11:59:02", "url": "https://files.pythonhosted.org/packages/17/55/d1ba489cff33293462ac966a6df159695f7972e6d1703cd2b2eed5409980/docker_interface-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "4a4c68934cd5f98167e62a85e92dc996", "sha256": "ea220202819070d1ac7dd0fbd7ae0c97a9536305a11b91d91ef9b96495411ebc" }, "downloads": -1, "filename": "docker_interface-0.4.1.tar.gz", "has_sig": false, "md5_digest": "4a4c68934cd5f98167e62a85e92dc996", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14369, "upload_time": "2019-09-04T21:51:42", "url": "https://files.pythonhosted.org/packages/8c/ed/9df5d0ed4131655ef9a03a93e0a101edd526bac52def1687f97dabd8b49d/docker_interface-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "a0df4346cb18177e62e58a3a6a54b59f", "sha256": "1982e282559fa6006195c10531026302f0c8304eb5fe20960a60206ac5c6b8b7" }, "downloads": -1, "filename": "docker_interface-0.4.2.tar.gz", "has_sig": false, "md5_digest": "a0df4346cb18177e62e58a3a6a54b59f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14525, "upload_time": "2019-10-01T18:12:46", "url": "https://files.pythonhosted.org/packages/04/7a/c98239b33d411a73f1440a5d3763bd42556ded0ca49183697fd426507033/docker_interface-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a0df4346cb18177e62e58a3a6a54b59f", "sha256": "1982e282559fa6006195c10531026302f0c8304eb5fe20960a60206ac5c6b8b7" }, "downloads": -1, "filename": "docker_interface-0.4.2.tar.gz", "has_sig": false, "md5_digest": "a0df4346cb18177e62e58a3a6a54b59f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14525, "upload_time": "2019-10-01T18:12:46", "url": "https://files.pythonhosted.org/packages/04/7a/c98239b33d411a73f1440a5d3763bd42556ded0ca49183697fd426507033/docker_interface-0.4.2.tar.gz" } ] }